AMIGIFT Documentation

Browsing /General Usage/Preferences Window/GiFTMui


- Launch on startup

This option automatically launches the daemon on the label says, but this is no quite correct internally, on program startup what we try to do is a connection to the daemon port without matter if this option is enabled or no, if we are unable to connect to the daemon we'll then check the status of this option, if it's enabled the daemon will be automatically launched, else you'll be warned about the failed connection.

The connection attempt which is performed at startup is the same as if you manually click the Connect button, hence the same behavior about this option happens when you click the button yourself (e.g. disconnect -> connect).

Since the daemon could take some time to accept a connection (several seconds maybe) when launched by using this option, we'll not try to do a connection attempt each second or so but instead we'll benefit from the Message Ports functionality it has to send warnings and related messages to the GiFTMui's system port, we are talking about eg "protocol xyz succesfully loaded and initialized", once each of those messages are received a connection attempt to the daemon will be automatically performed, and so on until the connection is established. - If you are (or not) using the DAEMONWARNS tooltype do not matter here, since the message is received by GiFTMui as well just that it isn't notified, and as you may noticed there is a little bug... if you run the daemon in one machine and GiFTMui in other, in such case the auto-connections on this way will not work obviously, and you'll need to manually click the Connect button.

The options used to invoke the daemon process are below explained.

regwarnUnregistered users cannot de-select this option.

- Remove on exit

Using this option will cause the daemon to be shutdown when you exit from GiFTMui, if you are connected to the daemon at exit we'll remove it on a "sytem-friendly" way, else a break signal will be send to its process causing itself to be interrupted.

regwarn Unregistered users cannot de-select this option.


- Open Transfers Window

The tittle says all. - whenever you request a download, or multi-downloads, the transfers window will be automatically opened. it may take a few seconds to the download to be added to the list though, thats because we send the download request to the daemon and then the daemon have to send us reply about the download was accepted/queued.

- Cut long filenames

It is known that todays certain files has very long names, such files could cause problems on the daemon side at time it's reloaded, thats because the filename most likely be truncated by the filesystem causing the daemon to not recognize such file at startup...

Using this option will forbid filenames longer than 77 characters, being the file's extension guaratee to be keep, of course. Thats assuming you're using SFS to the incoming folder, which is required.

- Add all sources

This switch causes, when a download is requested, to scan the list of results looking for more sources to the file about to be downloaded, only upto max sources will be added.   This option can be controlled from the main window results context-menu


- Clear on new searches

When Multi-Lists aren't being used, this causes the list of results to be cleared upon new searches.

- Format bytes

Using this switch will cause sizes in byte notation to something else more human readable. (e.g.: "102547889" -> "102.5Mb")   This option can be controlled from the main window results context-menu

- Use Multi-Lists

Using this option multiple searches at once are possible, being a new listview opened for each of them.

regwarnThis option is available for registered users only


- Confirm

When you try to quit GiFTMui you'll be asked for confirmation when this switch is enabled.

- Save settings

This option causes the MUI settings (ENVARC:MUI/GIFTMUI.cfg) to be saved to disk upon exit.

- Close first sub-lists

While working on Multi-Lists mode, using this switch will cause the active listview to be removed when you click the window's close-gadget.


- Socket Activity

When this switch is enabled a new window will show up, where a trace of the negotation server <-> client are shown. (for debugging purposes).


- Stats Interval

Specifies the interval time used to request statistics to the daemon, the daemon will reply us with the number of users and files currently available on each network, and the amount of GB being shared on it. This info is then computed and show on the main window title-bar, for details open the stats window.

- Max Sources

This slider controls the maximum number of sources to be added at once when requesting a new download, and when add all sources is being used.

- StandBy-Mode

This isn't currently being used. This mode was used on previous versions to keep the gui waiting while the daemon is busy rehashing your shares, todays such task is launched from a sub-process making this no longer needed. (The code has been keep for now though, if may become useful for some other purpose)


The History is where we keep track of files we have downloaded or uploaded, you can access to it from the windows menu.
- Save On Exit

Causes the History to be saved upon exit.

- Save On New Entry

Causes the History to be saved upon new download or upload.

- FormatDate String

DateStamp formatting string to be used altogether with the file downloaded or uploaded. Its template is equal as for the FormatDate AmigaOS function, common codes (a few ones) are the following:
%c - same as "%a %b %d %H:%M:%S %Y"
%d - day number with leading 0s
%m - month number with leading 0s
%Y - year using four digits with leading 0s
%H - hour using 24-hour style with leading 0s
%M - the number of minutes with leading 0s
%S - number of seconds with leadings 0s
For full details check the Amiga's AutoDocs


- Block all requester

Sometimes certain requesters may come up when you are not in front of your computer, you can enable this switch to avoid them from blocking GiFTMui...

- Do not handle timeouts

Instead of blocking all requesters, a timeout value can define when the requesters are automatically cancelled. When this switch is enabled timeout handling for requester are deactivated.

- Timeout

The timeout value to wait to requesters to be automatically cancelled.


- Check TCP/IP Interface

Sometimes your internet connection may goes down without apparent notice to programs, such programs could then get blocked while resolving hostnames (usage of gethostbyname() function), to avoid such behavior from GiFTMui you can define here your internet interface, which will be checked before any socket-operation is about to be performed. Currently only Miami and Genesis TCP/IP Stacks are supported.


Events are a group of settings giving you the chance to execute certain action(s) when something happens...

Brief explanation of the gagdet array: The checkbox controls whether you want something to happen when the named event occurs. The adjacent string gadget contains the sound sample you want to have played. It can be in any audio format you have a datatype for. The small gadget in the middle (the one showing two speaker boxes) gives you a playback of the chosen sound. The string gadget on the right side takes up a Shell/ARexx command you may want to have executed when the event occurs. The type of command is adjusted with the toggle gadget next to it.


Those settings allows you to play/display files right after the download is finished. This is the section where the matching player software for several filetypes is set. You can disable or enable all players at once by using the top-group CheckMark.

Filetypes are recognized based on their MIME type, which is determined by looking at the name extension of the downloaded file. (additionally, amigift is internally able to detect wrong file-extensions for common types (eg jpeg, gif, or mp3) by reading the header of the downloaded file, and warning you then if the file extension does not mach the guessed (real) filetype)

The individual checkboxes in each line control the support for the MIME type named in that line. The list begins with the most common MIME types, as show on the following table:

Format MIME type
MPEG video/mp#?
AVI/MOV video#?
MP3 audio/mp#?
OGG audio#?
Images image#?
Unknown all the rest

The handling of players are launched checking the mime types on the above order, so that if the file isn't in MPEG format (match against video/mp#?) we'll check next if it's some kind of video, meaning the player for AVI/MOV could really launch any type of video other than MPEG, same for audio types.

The next ten lines allow you to enter other filetypes you want to have identified and handled by the appropriate player. The string gadget on the left side takes up the extension (PDF, HTML or whatever), Note these player have priority over the above ones, meaning if you define a player for ".jpg" it will be launched instead the general player for Images.   The player programs either have to be in your DOS search path or have to be given with their full path to be found. The gadgets on the right side launch the entered program. A requester will open, asking you for a file that reflects the filetype in question. This way, you can check whether the chosen player is able to handle that sort of files.

infoNote: Make sure the player you choose is apropiate to be launched within GiFTMui... first, by checking if it works launching it from a shell, and then testing it from the preferences (right side button). Note also where the player is about to accept a filename from its command line should be replaced by %f (printf formatting style) which GiFTMui will use to place the file to be played.


Sounds settings are similar to Events, they gets played on certain actions. The handling is identical. The checkboxes control whether a notification should take place in that situation or not, the string gadget contains the sound file, the gadget on the right edge tests if the sound is audible.


Locators are processes with the only job of locate more sources for your downloads, in a way that they don't stop downloading... Locators creates a new socket connection with the daemon, it send the locate request and waits for results (it's just like performing a normal search using the realm 'hash'), of course everything is handled automatically in the background, so that you can continue using GiFTMui without problems at all. Follow are the description for the settings:
- Launch Automatically

Locators will be automatically launched once a download reaches Zero sources.

- Handle Queue

When Locators are launched automatically, there could be the case where several of them are launched very quicly causing only the first instance to take effect - by that reason, from GiFTMui 2.0 (build #148) the avility to add them in a queue have been added, so that if e.g. you have 20 downloads and all of them reaches Zero sources, while locators are enabled, only the first request is handled in real-time being the rest queued to be automatically launched as well on timeout or end of results for the running instance.

- Allow multiples

This option is currently unavailable...

- Timeout

Specifies the maximum time-life a Locator is keep running.

- Inspector

The Inspector is an automated way of launching Locators, if it's Activated it will be launched given the interval value and it will check your list of downloads, unless Check all is enabled it will launch a Locator for transfers without sources, else (when Check all is enabled) it will launch a Locator for all of your downloads. - If you want to abort a running Inspector you'll have to "re-launch" it from the Network menu.

regwarnLocators are available for registered users only!


Downloads Checker - if actived, when you try to download a file, the given path(s) will be scanned for identical files to ensure that you have not already downloaded it before. Paths are either added by entering them into in the string gadget below the list or choosing them via file requester. A path can be removed from the list by doubleclicking the entry.

- Activated

Switches the downloads checker on or off.

- Recursive

When checked, sub-directories of the given paths will be scanned as well.


The chat is just a little IRC implemetation which connects to the freenode network and its channel #AmiGiFT.

See it, try it, love it! ;-)
- Connect to the chat

Controls whether a connection to the chat is established or not.

regwarnUnregistered users cannot de-select this option.

- Username & password

If you are a registered user of the freenode network you can enter here your details, and if you are not please enter at least your nick on the Username field!

- Channel logger

The checkbox controls whether the contents of your chat session will be logged or not. If you choose to log it, you can enter the path of the log file to be used to log entries to.

- Sound Events

Similar to the "Events" and "Sounds" pages, you can give some sound effects to be played on various occasions. The handling is identical. The checkboxes control whether a notification should take place in that situation or not, the string gadget contains the sound file, the gadget on the right edge plays the sound in a way to test if it's audible.


The following options are directly related to socket operations, being just a brief description used, if you want to know more in detail you should take a look at the bsdsocket.library docs, which are available here. - Note that some of the following options may are useless for normal use, but added for debugging/test purposes.

- Modes


Control whenever non-blocking I/O should be used.

infoNote: Having FIONBIO enabled is normally a good idea, considering socket events and MUI stuff is handled from the same Task, meaning if you do not use it you may could notice certain slow down from the mui side at time of reaching user inputs...


Control whenever asynchronous I/O should be used.

infoNote: There are know issues from most of our TCP/IP Stacks at time of handling asynchronous sockets with multiple connections at a time, our tests reveal that only MiamiDx does not have (apparent) problems from using it... it could be our fault, of course.. but it's clear this mode does not work on the same way from the various stacks we have...

- Options

- Send Queue

Using this option, packets to be sent to the daemon are queued if they are about to be sent very quickly so that the connection does not get congestioned... as for fionbio, this option is recommended to be keep enabled - it also avoid sending duplicated packets (eg STATS requests)

- Keep Alive

keep connections alive, enables the periodic transmission of messages on a connected socket.

- No Delay

This option disables the Nagle buffering algorithm when it's enabled, causing packets to be sent between server <-> client without delay... This should increment perfomance on certain cases, however it is mainly when small amount of data have to be sent as it increased bandwidth usage...

- Low Delay

This option is used to minimize delays on interactive traffic...whenever applycable...

- Fine Tuning


buffer size for input


buffer size for output


minimum count for input


minimum count for output


timeout value for input


timeout value for output

go to index

 $Id: index.php,v 2.0 2009/08/06 22:47:32 diegocr Exp $