AMIGIFT Documentation

Browsing /General Usage

GiFTMui's main window:
Click to enlarge

On this section we'll try to explain in detail the meaning of the hundred of buttons, gadgets, options and internal features available into AMIGIFT, starting with GiFTMui, the Graphical User Interface, with help from some screenshots for a better and quick understanding, focusing as well in the daemon part about command-line options and other aspects which should need mention from this documentation, without forgoting giftd, the daemon, has its own website located here, where you should take a look into if you want a more in depth information about it.

Once you install/extract the package, with the components required and network plugins you wish to use, including 3rd part resources needed, what you'll have to do is to double-click the icon to launch the program, then you'll see the following splash-window to the startup process:


On that window you'll see the release name (if it's public or beta), followed by the compilation date and time, next to that is a gauge to the current startup progress, being the screen-title showing as well the progress as percent.

In a few seconds the startup step must be complete, and you'll be presented with the main window.

infoNote: You'll may notice from version 2.0 the startup process is somewhat slower... thats because we use private custom classes for everything MUI related, and almost 40 of them have to be created...


If you launch GiFTMui for the first time, you'll see a welcome-window as the follow captured, on that window we give you some additional info which you must read and remember.

welcome window


Well, we'll start right now explaining in detail everything:

main window toolbar

Thats the main window toolbar, the buttons are as follow: (from left to right)

infoNote: those ghosted buttons are due we grab the screenshot without being connected to the daemon, once connected they are in normal state and the 'Connect' button ghosted.

- Connect

This button connects you to the daemon.   If the daemon isn't running already, and you are using the launch on startup option, it will be automatically launched. Some daemon's command-line/process options can be configured from the preferences which will be used by GiFTMui at time of using SystemTags()

- Disconnect

This buttons closes the connection established with the daemon, Note it only disconnects you from the daemon, which is keep running in the background.

- Search

Use this button to start a search once you adjusted the search criteria from the search panel.   Multiple search requests at the same time are possible if you set the multi-lists switch on (registered users only). Pressing the Enter key over the search string has the same effect than clicking this button.

- Stop

This button stops the current search request.   On previous versions/builds when you click it all further result's additions are rejected ensuring you'll have upto search box's max-results as maximum - this no longer works in this way because there is no real need to ignore further results since the daemon will continue sending them to us until it receives the stop request from the socket connection and process it. note this action is launched in real-time whatever you use sockopt's send queue or no, and once the request has been sent the button gets ghosted.

- Download

This button request the daemon to start downloading the selected entry from the list of results, thats the same as double-click a entry from the results-list. Multiple download requests at once are perfectly possible.

infoNote: There are some options at the preferences about certain actions to be performed at time of downloading (and with each selected download in case of multiple requests)

- Statistics

This button opens a window for network statistics, you'll see number of users, files and bytes for each network, as well the number of downloads/uploads from/to a particular network which GiFTMui itself track internally.

infoNote: Recent Ares versions don't report real stats, it's not a bug, at least not on our part, we just set what the supernode tells us, if it's an old supernode then i'll work, if it's won't...

- Shares

This button shows your list of shares (shared files). If multi-lists are enabled it will show your shares on a new list.

- Transfers Window

This button opens the window where transfers can be watched. Explained below.

- Preferences Window

This button opens the Preferences Window, where you can define the settings for everything. (well, almost everything, there are some options managed by tooltypes and environment variables). Explained below.


Here we have a little amigift anim loaded via GIFAnim.mcc from AMIGIFT:Images/amigift.gif. If you do not have GIFAnim.mcc installed on your system that will be just a noop (hidden) object, not causing any failure at all. You could also replace that GIF anim for anything else you'll like to see here, or rename the image filename if you do not want that anim to be shown.

- Network's Status Lamps

As a last toolbar member we have here a group of status lamps (created with Lamp.mcc, which is therefore required). Since AMIGIFT 2.0 build #156 those lamps are dinamicaly created based on the network plugins currently installed rather than for known plugins.

Follow are the default color specification, the name between quotes is the color name as it appears on the MUI Settings for Lamp.mcc (Its mcp) which you can change to something else:

green "Ok" the plugin is active and connected to the network.
yellow "Processing" the plugin is active but not connected to the network.
black "Off" the plugin is installed but it's neither connected nor active.

Those lamps acts as buttons as well, it serves to enable searching at certain networks only in the same way of using the advanced search panel's protocol checkmarks, when some lamp is pressed the corresponding checkmark will be activated as well, and the lamp will blink using the color "Looking Up"

infoNote: BLACK status lamp at startup means we have not received a stats report from the daemon yet, same if we have reloaded the daemon.


search panel

This is the normal search box, just below of the toolbar, follow explained from left to right:
- Search String

Here you put the string you want to look for, normal searches would be a single word... but you can use any number of words without problems (while the network plugin where to send the search allow it), when you use more than one word is the destination network plugin (supernode) the responsible of handling it on a "human readable" way... unfortunately this does not seems to happen most of the times... to work against this behavior GiFTMui implements some filters to get results e.g. on ordered words (as you typed it).   This object hasn't notification to the return key and therefore you'll need to click on the Search Button to start the search.

The object is created using a String.mui subclass with history/cache facility, when a new search request is sent the string you typed is stored on a private cache, you can access such cache by using the RMB (right mouse button) over the string object and a context-menu with the cached entrys will be shown. If you want the cache saved upon exit you'll have to active the 'save on exit' switch available from the same context menu.

Attached to the string object there is a button as you can see (MUI's "tape down" image), this is here to expand/replace the standard search panel to the advanced search panel mode, where you can finetune the searches (explained below).

- Realm

Here you can define what type of results you want to be returned, this could be everything meaning any type of files, audio, video, images, documents, or software. There are options as well to found files based on its hash, or to browse a single user shares (if the protocol support it).

- Max (Maximum number of results)

How many results do you want as maximum for your search requests, read the notes given to the toolbar's stop button for additional info.

infoNote: The value set here is valid and used as well while the advanced search panel is being used.

- Paths

Activating this switch causes the paths to the files in the results to be shown, this is only usefull if the network/supernode who give us the results uses pathed files.

info bar

Thats the main window's informational string, (no connection to the internet at time of the capture causes the message shown here), where periodic actions are shown, most of them are inserted on the debug window as well (accessible from the program menu).

That info-string is really a Gauge.mui object, we'll use the gauge feature as a progress indicator for the number of results currently received against the maximum value defined defined above

Attached to the info string are two more objects, those are used as counter for the number of selected entrys (to download) and the number of sources for the active entry, respectively.


results nlistview

This is the list of results.   What we see here is three simultaneous searches, on the list title are the search string as you typed it, followed by the current number of results found and then the formated size of all results.   The list title will be highlighted when new results are found for a list which isn't the active one, and changed to bold when the search finishes.

Currently the list of results are formed by 27 columns to give accurate info about the result, Note there isn't returned always enough info to full fill all of the columns, that depends on which software used the peer who gave you the result(s) and the file type/format. A summary of all of the columns contents can be seen by selecting an entry and keeping the mouse quiet over the list, a bubble-help will popup with the info.

The currently being used columns are the follow:   availability, file, size, user, node, url, mime, hash, bitrate, frequency, duration, audioformat, audiofreq, audiobitrate, videoformat, resolution, fps, width, height, format, comment, title, album, track, artist, year. - You can disable as many as you would want using the context-menu over the NList-title, as for adjust the width or the order.

  In Detail:
Column Description
   av  Availability of the file:

* RED: 0 slots available to download at this time.
* YELLOW: 1 slot available, we may download it but probably too slow.
* SHADOWGREEN: 2-6 slots available, we should be able to download it.
* GREEN: all slots available, the peer isn't uploading to other users atm.

infoNote: When the lamp isn't GREEN means the peer is uploading to other users which could make our download to be [somewhat] slow. Consider as well the inet connection that peer have, obviously isn't the same uploading to 4 users/peers with a 1MB-DSL than with a 20MB-DSL connection (Well, if you live at Spain, or want to download from Spanish people, note it's the same...), above all this it could be as well the peer who owns the file has limited its bandwidth usage and/or other inet programs he may have running are limiting the bandwidth as well, as a result your download speed could be ridiculous. just remember those points and do not blame the amigift authors by low download speeds as some of you did, it is something we have not on our hands.   - Note also there are sometimes where we may be able to download files with RED lamp, this only means from the time passed from the supernode to give us that result and we try to download it some slot goes free, it may worth a try to try to download such result if there aren't other good alternatives.
   File  Filename (may contains a path, whatever it's saved without a path)
   MIME  MIME type of the file
   User  User supplying the file
   Node  (super)node this user is connected to
   Bitrate  Bitrate for audio or video files (On videos it's the general bitrate)
   Frequency  Frequency for audio or video files (On videos it's the general frequency)
   Duration  Running time of audio/video files
   AudioFormat  For video files, this contains the format of the audio stream
   AudioFreq  For video files, this contains the frequency of the audio stream
   Bps  bits per second
   Audiobitrate  For video files, this contains the bitrate of the audio stream
   VideoFormat  Which Codec used on video files (AVI, MPEG, etc)
   Resolution  Resolution of video files
   Fps  Frames per second
   Width  Width of images
   Height  Height of images
   Format  Image format
   Comment  Comment supported from some formats (eg MP3)
   Title  Song title
   Album  Album the song was taken from
   Track  Track number of a song on the album
   Artist  Performer of a song
   Year  Release time of the song/album
   Network  Network that the file was found on
   Hash  ASCII Representation of the file's CheckSum (MD5, SHA1, etc)

When AMIGIFT 0.1 was created, we checked all those are the data returned as meta-tags from the various networks, Todays we have noticed new tags are being used but to avoid adding even more columns all those unrecognized tags will be appended to the Comment column.

Build in the list of results are available a context-menu with certain actions we'll explain now, some of the options are actions to be performed over a selected entry, for those click RMB over the desired file.
- Use multi-lists

Toggle the multi-list option that determines whether to open a new list upon each search or not.

regwarn(for registered users only)

- Format Bytes

Toggle the Convert Sizes option that allows you to convert file sizes from bytes to something better readable (eg: 1234567 -> 1.23MB). Here we use 64-bit functions which allow us to convert upto one exabyte (1152921504606846976 Bytes) what does not mean we may be able to download something higher than 2GB ...

- Add new (page) list

Opens a new results listview.

- Remove current list

Closes the current list when the Multi-Lists option is active. If the current list is the only one, nothing will happen.

- Clear current list

Removes all contents from the current list.

- Load results from disk

Loads a previously saved results list from disk into the listview.

- Save results to disk

Saves the current search results to disk. Only the columns required to download or to create a GiFTMui's cache entry are saved, the availability field will obviously be inaccurate if you load the list some day(s) later (or even some minutes/hours later)

- Downloading

- Add all sources

Scans the search results for identical files and adds them as sources. You can define how many sources to add at once from the preferences window.

- Check if exists locally

Checks if the desired file has already been downloaded before. At which paths to check are defined on the downcheck settings.

- Select

- All

Select all entrys on the current list.

- None

Deselect all entrys on the current list.

- Toggle

Toggles the status of all items in the current list. Selected entrys becomes deselected and vice versa.

- By Pattern

Opens a tiny window allowing you to specify a name pattern for files to be selected and a cycle gadget that determines where to search for this pattern. Valid options are File (name), MIME (type), User, Node, Comment, Title, Album and Artist. Clicking the "Go!" button perform the selection inserting the matches on a new list. This pattern allows to use regular expressions.

- Max Sources

Search the list for the entry with the highest number of sources, and auto-select such entry.

- Browse 'user' shares list

Request the shares list of the user under the active entry. This option is only available for networks which support user browsing (eg: OpenFT)

- BAN xx.xx.xx.xx

This option is available for FastTrack and Gnutella only. It will add the shown IP to the banlist (for FastTrack) or hosttiles.txt (Gnutella) files which contains lists of banned IPs (by spam, fakes, etc). You can ban a single user or a whole (super)node.

- Where is this file from?

This is an external service provided by where the AMIGIFT project is affiliated to. When you use it, we'll use openurl.library to redirect you to the ShareMonkey website where you could found addtional info about the selected entry on the results listview, you'll find several places where to legally buy [online] the file or the album where it is.
infoNote: Please support AMIGIFT by clicking on it as many times as you can. (and buy something as it's the way we are rewarded) :-)

advanced search panel
Thats the advanced search panel which hidden by default and opened clicking the tape down image from the normal search panel.

Clicking on the tape up image (read 'switch panel') will exchanged the panel to the normal one.

Search String and Search Realm was already explained before, Exclude is a string (allowing unix wildcars, teorically..) which will be used to hide certain results from the search, of course the network/supernode where we have sent the search request must accept exclude tokens or giving something here will be a no-op.

Protocol contains a list of currently installed network plugins where we are able to send search requests to certain networks only, or individually. It's default to All Networks.

Filters is a in-depth way of giving more accurate results with the cost of more cpu usage with each request, on previous builds the filters was always "on" and we was checking if the options contains something useable, as it looked like it used here some unneeded cpu (GetAttr() usage on each object for each inserted result) we decided to disable the filters completely by default, and therefore you'll need to Enable it prior to use

Following we are going to explain all of the Filters options:
- Pattern

This is either an AmigaOS or REGEXP (Regular Expression) pattern, which will be compared against received results and only filenames matching will be inserted on the results list. The first character of the string must be colon to use a REGEXP pattern (eg: ":/.*?(mp3|wav)$/i"), if you are new to regexp take a look here, or here.

Regular Expressions support is provided by the PCRE library:
PCRE is a library of functions to support regular expressions whose syntax
and semantics are as close as possible to those of the Perl 5 language.

                       Written by Philip Hazel
           Copyright (c) 1997-2008 University of Cambridge

- Availability

Here you are able to define the minimum availability a file must have to be added to the results list.

meaning of the values was previously explained

- Max FileSize

How many bytes for a file are valid to be inserted on the results list. Files with higher bytes will be just ignored.

- Min FileSize

This is just the opposite to Max FileSize, files with lower bytes than the value entered here will be ignored. You can specify a range of bytes using both fields altogether.

- Match

When you use more than a single word in the search string, most supernodes of certain networks ignores the order or number of words you typed and just returns results matching any word, this is indeed a too annoying behavior at time of looking for phrases with common words - by that reason this filter was created, here you can specify some criterion of how results should be returned. We'll only perform the check on the returned filename field.

The contents of the cycle object are now explained:

- Disabled

Ignores the filter.

- any word

Return results matching any word.

- all words

Only return results which contains all of the words in no particular order.

- all order

Only return results which contains all of the words ordered, just as you typed them.

1 mw_dtrack1
2 mw_dtrack2
3 mw_dtrack3

Just below the main window's results listview you have a 6-pixels height gauge-button as shown on the image 1, When you click it a downloads list will appear as shown on image 2, It's disabled by default and you need to activate it by using its context-menu under the option "enable this (cloned) list", thats a NList's cloned-list meaning the list do not handles anything in his own but inherit the entrys of the main downloads list form the transfers window. Once activated it will look as shown on the image 3, you have quite the same functionality as the main downloads list by using its context-menu options. Shown on image 3 are the gauge activated as well, which also is disabled by default and activated from its context-menu option, This gauge serves as a global counter for all the active downloads, measuring download rate and time all of them will took to complete. Also, there is a Balance object above that cloned list which allows you to resize that list against the results listview. - Note both functionalities could increment the cpu usage substantialy!

regwarnThis feature is available for registered users only


GiFTMui Menu

Thats the little GiFTMui menu currently in use, there aren't available too many options but just the helpful ones ;)

On this section we'll explain in detail all of the available menu options.

- Project

- About

Opens a window that contains information about the version/build you're using, the author(s) and 3rd part resources used as acknowledgments, and something else related to the current amigift development, including support links.

- About MUI

Opens a window that contains information about the MUI toolkit including version and contact details of MUI itself as well as installed MUI custom classes and their authors.

Those of you who still without a MUI keyfile can start the registration procedure by clicking the central "Register" button. (Or follow This Link)

- Register

This application menu item opens a window that informs about the advantages of obtaining an AMIGIFT KeyFile.

The registration fee can be paid using PayPal. (for other payment methods please ask us), a click on the PayPal button in the upper right corner of the window will attempt to start your browser and take you to the Amigift's PayPal site. Detailed info about the registration process can be found on that window. Clicking the "Cancel" button closes the window and leaves you behind with a bad conscience. :)

- Updates

This application menu item opens the AMIGIFT's Online Updater window.

What appears to be not much more than an empty listview is a feature that allows easy access to updates of AmiGiFT components and network-specific data (Read: node and banlist files).

The listview contains columns that display the component names, the versions available locally and remotely and some additional information about these. Having the daemon online, a click on "Receive list" connects to the amigift website and fills the listview with the information retrieved. Now you can select the components you would like to have updated by selecting them and clicking "Update Selected". Which ought to be done whenever a component has been updated. Getting up-to-date banlists from time to time is recommended as well.

The four checkmark gadgets in the lower left corner provide some extra comfort to the online updater:

- Update everything automatically

Does exactly that; whenever a newer version is detected remotely, the component present locally will receive an update.

- Backup files before updating

Renames the local copy of the component before the new version is installed, thus providing a backup in case the new version causes unexpected problems.

- Show only newer files

Changes the behavior of the listview. Normally, all components available will be displayed, regardless of version differences between local and remote copies. Checking this gadget restricts the list to those whose remote versions are newer than your local copies which may shorten the list.

infoNote: We only check for version and revision nmber changes only (eg: 2.0 -> 2.1), that means due the pre-release builds launched around GiFTMui isn't properly recognized as due as a pre-release version number does not change. If you are one of those using our beta builds you'll need to look at the program's DateStamp (filled on the 'Notes' column) and update it manually if you really want to use such betas.

- Check for updates on startup

Calls the online updater upon every start, thus ensuring you are aware of any new versions as soon as they become available.

The settings of the checkbox gadgets are saved along with the general giFTmui preferences upon exit.

- Iconify

Iconfies GiFTMUI, i.e. closes its window (and screen if applicable) and places an icon on your Workbench. Clicking this will restore the previous state. The iconification does not affect any operation of AmiGiFT, be it establishing connections, up/downloads or whatever.

- Quit

Quits GiFTMUI. Depending on your settings, giftd will receive a break signal or be left running in the background.

- Network

- Connect
- Disconnect
- Search
- Stop
- Download
- Shares

All those options are equivalent to the corresponding button in the toolbar.

- Inspector

The Inspector is an automated way of launching Locators, and what are locators, you ask? Locators are processes which looks for more sources for your active downloads, on a way that they don't stop downloading, read more about them on the preferences section.

If you want to abort a running Inspector, all you have to do is to launch it once again from this menu option and the running instance will be aborted.

- Daemon

- (re)Load

This option causes the daemon to loaded on a normal way or reloaded, if the daemon is already running (and we are connected to it) it will be first aborted by sending the apropiate command packet (not signaling it), Note this will not work if the daemon isn't to be run on your local machine.

- Quit

Removes the daemon by either sending its appropiate packet command or sending a break signal.

- Miscellaneous

- Unlink From Stack

This option will close all active sockets GiFTMui has in use, and later the bsdsocket.library will be closed as well. This could be helpfull (apart others) when e.g. MiamiDx sends a SIGBREAKF_CTRL_C signal to all applications which are still using the bsdsocket library, the first time GiFTMui receives such signal it will first 'Unlink From Stack' and if it receives a second ^C signal it will exit completely.

- Windows

- Reports

- Session

Equivalent to the "Stats" button in the toolbar.

- Overall

Opens the Transfer Statistics window that shows how many files have been uploaded and downloaded, their average size and at what average speeds the transfer took place. Additionally, the uptime of AmiGiFT can be seen here. All this information is divided into local and global values. Local means during the current session, global since the first start oof AmiGiFT.

- History

Opens the transfer history, a log about when which files were transferred and their sizes. Up- and downloads are shown on individual pages.

- Uploads Queue

Will give you an overview over files being requested from you. Since you will normally limit the number of simultaneous uploads from your computer, the result is an upload queue, i.e. any request beyond your limit will have to wait until a previous upload is completed. This queue can be displayed in various ways.

- Transfers Progress

- Transfers Windows

Equivalent to the "Transfers" button in the toolbar.

- Downloads Monitor

Opens the Downloads monitor window which basically shows the same information as the transfer window with the uploads being left out.

- Uploads Monitor

Opens the Uploads monitor window which basically shows the same information as the transfer window with the downloads being left out.

- FBrowser

On previous versions, the GiFTMui's FileBrowser was a simple listview with three buttons on top to select either the completed, incoming or shares directories. Starting with Version 2.0, the FileBrowser has become a little DOpus4-clone featuring main options like Copy, Move, Delete, etc - Additionally to the little implementation it looks like, it is 64-bit compliant and fully supports all kind of symlinks (soft/hard-links to files and dirs) apart other interesting internal features... following is a screenshot of it:


regwarnThis feature is available for registered users only

- Debug

Opens a window with a simple listview where traces of the actions performed by GiFTMui are shown. Useful for troubleshooting and general info.

NOTE: The same contents of this window are saved to T:GiFTMui.log

- Chat

Opens the chat window to allow exchange of thoughts with other AmiGiFT users online.

- List

- Load

Loads a previously saved list into the main listview, replacing its current contents.

- Save

Saves the current contents of the main listview to disk, on a format to be loaded at a later time.

- Export

Saves the current contents of the main listview to disk being on a pre-formated HTML syntax to be viewable from any www-browser.

- Clear

Clears the main/current listview.

- Tools

- Check Ports

This causes AmiGiFT to connect to an internet service that checks the reachability of your computer on those ports required for your settings. This may be useful when trying to find the reason for problems establishing connections to one or more networks.

The check will be performed from a sub-process, so that you can continue using GiFTMui without problems at all, a busy bar at the top-left corder of your screen will be shown while the check is running, once finished a requester will show up with the port results.

The report will categorize ports as being in one of the following states:

  • Open: The port is accepting TCP connections and UDP packets. This means that an application is running that is using this port.
  • Closed: The port responds to probe requests but no application is using this port
  • Filtered: The port state cannot be determined because packet filters prevent probes from reaching the port
  • Unfiltered: The port is accessible but cannot determine if it is open or closed
  • Open | Filtered: cannot determine if the port is open or filtered
  • Closed | Filtered: cannot determine if the port is closed or filtered

- Create Cache

The Cache of GiFTMui are files where info about your current downloads are stored (regardless of the daemon's .state files, where giftd keep all the info required to manage a download), the data found into such cache files are:

  • URL: used to the download's file comment (set upon completion)
  • MIME: mime type of the download used to launch an associated player.
  • HASH: hash checksum of the file used to perform Locate procedures

There could be certain cases where your cache files become deleted or something.... using this option will try to re-generate the cache files, at least a HASH item is guarantee to be filled if the proper reading of the corresponding daemon's .state file was succesfull.

- Update Shares Index

This option will force the daemon to re-generate your shares index file (amigift:daemon/shares), note that you must be connected to the daemon to this to work.

infoNote: If you've added new folders to the sharing roots, and you want to update the index to reflect them, we'll recommended to use the ASIU program instead of this option, It should works lots faster than this due the running daemon launches a sub-process on the background with priority -1

- Verify Incoming

We are not perfect and may the daemon crashes at any time, if it's the case your download's state files may become renamed (in the process of updating them) causing once the daemon is reloaded to not recognize them. - This option will ensure all of the state files are properly recognizable by reading and checking your incoming folder.

infoNote: Obviously, the incoming folder configured into GiFTMui must match the one the daemon uses, and you must not be connected to the daemon and neither should it be running in the background!

- Torrents

This option opens the BitTorrent manager window, where torrent files (#?.torrent) are loaded and processed.

- Settings

- amigift

Equivalent to the "Settings" button in the toolbar.

- Load From...

Loads settings from a file previously created using "Save to...".

- Save To...

Saves the settings to a different file than the default.

- Read From Disk ALL

This option works in the same way as when you click 'Read From Disk' on the daemon and plugins settings pages, but it reads all of such settings at once. Usage of this option is required if for some reason ENVARC:MUI/GIFTMUI.cfg become deleted.

- Save To Disk ALL

This option works in the same way as when you click 'Save To Disk' on the daemon and plugins settings pages, but it saves all of such settings at once.

infoNote: This option is REQUIRED at a first amigift run by either you do not want to configure anything but use default settings OR once you've configured everything (use this option instead of clicking on each page button which obviously will be faster)

- Save

Saves the current settings to disk.

- Last Saved

Replaces the current settings by those last saved.

- Reset To Default

Replaces the current settings by default values.


Opens the MUI settings.


Here we'll try to explain all of the configuration options. Indeed there are lots of options but don't get desperate... the default options set by GiFTMui at the first run should meet most users use, meaning what is really required to be changed/added are the sharing roots and protocols/networks you wish to connect to. (but don't get confused, even if the default options are ok for you, you'll still need to use 'Save To Disk' on the daemon and plugins settings, for a first run you could use 'Save To Disk ALL' from the settings menu and all of them will be saved to disk automatically in one step.)

infoNote: Each configurable option (MUI Object) is build with a bubble-help with the meaning/description of the option, just keep the mouse quiet over the object where you want to obtain additional info and the help will pop-up automatically.


- 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



- User Interface Connections

This is the hostname and port number the daemon is listen on to accept connections, This should normally be you local machine (IP address, being 1213 the default port number - Unless you have a special need to use a non-standard port, just accept the default.

- Allowed Connections

Space separated list of hosts to allow connection to the daemon (running default on port 1213). This protocol is used to the communication between daemon and client, and could be considered a security risk if you allow external connections.

The following special keywords are supported:

Bitwidth fields are optional


Command Line Options are options which are passed to giftd by either at the command line prompt (obviously) or as SystemTags()'s attributes. options follow explained:

- Disable Logging

giftd logs several different actions to the logfile amigift:daemon/giftd.log (mainly for debugging purposes), enabling this option will cause such log not to be generated.

- AsyncIO buffer

As above stated, from version 2.0 downloads are saved to disk by using asyncio.library, here you can define the write buffer (in bytes!) this library will use.

infoNote: That buffer size will be used for each of your downloads, meaning if you define here 1000000 and you has 10 active downloads, it will require then 10MB of free RAM.

- Enable Console Output

This option will let you be able to read interactively the contents of the amigift:daemon/giftd.log logfile in a console (eg CON:) window at your Workbench (or public screen).

If you enable the switch you'll have to provide a console window as well (no default one is available..), also, this option has no effect if logging is disabled.

- Priority

Here you can define at which priority do you want the daemon to be run.

daemon download paths

- Incoming

Directory to store transfers while they are being operated on (downloaded). Temporary state files are also kept here. It is recommended, but not required, that the incoming and completed directories are on the same partition (drive), as above stated.

- Completed

Directory which will contain files after they have successfully finished downloading.


- Shares

List of fully qualified paths you wish to share. These directories will be recursed at giftd's startup and the files contained within will be subjected to an MD5 hashing. The results will be cached and will only be recalculated on a per share basis when the size or modification time in the cache and on disk disagree, or the file name is changed.

Sanity notice: Do NOT share source directories! Remote nodes will refuse to index your shares if you are attempting to submit more than 64000 files. - Also note that under lower powered machines high amount of files being shared (files, not MBs) could result on lost of connections due the time it could take them to be readed from disk and submitted.

Security notice: Do not share directories which may contain sensitive information, such as ENVARC: or S:. - Also note that any directories shared here will be stripped of all but the last path element when sub-mitted to other nodes for indexing, effectively "hiding" the directory prefix.

- Hidden extensions

Space-separated list of extensions whose files will not be shared.

- Resync Interval

Controls when giFT periodically rescans your shared directories for any changes (new files, missing files, changed files, etc.) and communicates those changes to the underlying protocols. This parameter specifies how often (in seconds) you want that to happen.

For your reference:

- Max Uploads per user

Maximum amount of uploads allowed from the same user at any given time. It is recommended that you keep this at 1 in order to prevent users from unfairly queueing your connection.

- Max Uploads simultaneous

Maximum amount of simultaneous uploads allowed. Setting this to -1 will cause giftd to not limit outgoing transfers. 0 effectively disables sharing.

- Hide dot files

Determines whether or not to hide directories which contain a leading dot. These directories are commonly meant to be "hidden" and thus should not be submitted to the network.

- Share Completed

Controls whether or not giftd should automatically share files that you have finished downloading. This feature significantly improves the networks abudance of files and helps ease the load on those sharing popular files. It's a Good Thing (TM), please leave it on.

- Ignore incoming

Determines whether or not your incoming folder should be shared as well. Normally you should keep this option un-selected...

- Shares Hidden

Controls whether or not your list of shares shouldn't be transmitted to the supernodes (meaning, as a temporal way).


- Down/up-stream bandwidth

Bandwidth throttling allows AMIGIFT to have some basic control over your bandwidth usage. This code operates in user space, and as a result can not guarantee perfect accuracy. If you wish to enable use this feature, please consider using a more reliable kernel space option first....

The configuration sliders control the maximum number of bytes per second allowed for the given stream direction. A setting of 0 ('unlimited') will disable throttling for that direction.

- Reports

This option tells the daemon when it should send transfers progress back to GiFTMui, under slower systems, it is not recommended to use a lower value than 2 seconds to avoid overhead... The minimum value for uploads could be even higher, and recommended.

Change Slip controls at which interval should the daemon report transfers progress when there is no data transfered, so that the GiFTMui's listview gets refreshed. Also, this is the value interval which states when the #?.state files need to be written/updated back to disk.


From this page you can select at which p2p networks do you want to connect to.



- Class Type

Node classification. This value is very important and will determine your role on the network.

The following settings are allowed:

At time of this write, AMIGIFT only supports USER node types, hence you must not change this value, same applyes to the Class Allow value, whose default value of 3 must be keep.

- Default Port

Core listening port. OpenFT uses a compacted binary protocol for the core communication with other nodes. If this machine is unable to provide both port and http_port to the outside directly (blocked by either by a firewall or a NAT setup) you should select 0 here.

NOTE: If you are unable to route this port (along with the HTTP port) you will be unable to download from other users with that same inability. You will, however, maintain the ability to upload to other non-firewalled users. Selecting non-zero when the port is not available to the outside will cause very broken behavior, namely search results will be extremely unreliable.

- HTTP Server Port

OpenFT's implementation also makes use of HTTP for all file transfers. See above for more details. Please provide a valid port here regardless of your firewall state.

- Alias

Arbitrary name you'd like to associate with your node. This field is optional and it is NOT to be trusted. The name is not unique to the network. Please do not choose useless aliases.

- Max Active Connections

Maximum number of "active" nodes that are allowed connection at any given time. The default value (-1) is used to calculate a suitable value for most search nodes based on their current max child configuration and other parameters. If you wish to take on additional connections, please note that you must set your maximum file descriptor limit accordingly (provided that the internal setrlimit() call is unable to sufficiently increase your current limits). Consult your shell's manual regarding ulimits for more details.

- LAN Mode

OpenFT offers a special configuration for users who wish to operate a network from within a local area network (LAN). This mode causes giFT to reject authorization from any non-local address as well as advertising it's presence via the local UDP broadcast. If this switch is non-zero you will not be able to contact the main network.

- Host Allow

When LAN mode is enabled, this configuration switch is used to verify which hosts are allowed connection to the core OpenFT port. It is highly recommended that you just don't touch this, regardless of what lan_mode's value is.

NOTE: This switch provides a very crude loophole that could allow you to create a "private" OpenFT network between a list of known nodes. Using this "feature" is going to be quite cumbersome as it is intended to be used by developers only. You have been warned.


The first group of settings (Childrens, DBPath, and Cache Size) are used while operating as a Node Class other than USER, Since (at time of this write) AMIGIFT only supports USER nodes, you shouldn't bother about those settings.

The rest of options from this page are considered for developers/testings purposes and/or undocumented, and therefore you should not change them. - However, if you are in need of fine tunning OpenFT please ask on our mailing-list for further info.



- Port

Which port the Gnutella plugin uses. The default for the Gnutella network is normally 6346, but it is random for this plugin in order not to interfere with other Gnutella clients.

Unlike OpenFT, the Gnutella plugin uses a single port for both HTTP and protocol communication. Similar to OpenFT, this port must be reachable from the outside Internet if you want to download from firewalled users. Download and search result performance is much better when this port is reachable, as quite a fair number of hosts on the Gnutella network are firewalled.

- Class

Class type Gnutella should operate as - this is an internal/undocumented option as you should not change it if you don't know what you are doing...

- Connections

Number of connections we maintain while working as the different operational modes... This is an internal/undocumented option as you should not change it if you don't know what you are doing...

- Max Nodes

Maximum number of nodes we normally maintain...

- Proxy

Should the Gnutella plugin use an HTTP proxy server?

The Gnutella plugin will contact some websites over HTTP for finding an initial list of nodes. If you need to go through a proxy server to access websites, the plugin will fail to connect to the Gnutella network unless you fill in your proxy server here.

This field can be formatted as hostname:port, with an optional 'http://' prefix and optional trailing slash. For example, and are valid.

Most people can probably leave this blank.


Those options enables the various debug capabilities of the plugin,
if you need further info please ask on our mailing-list.


- Local

Those options controls whenever you want the plugin to operate from within a local area network (LAN), as previously explained to the OpenFT network.

- Handshake

Handshake timeouts are internal values keep configurable for testing purposes, you shouldn't need to change the default values.

- Transfer push max in limbo

This is another internal/undocumented option.

- Max (per user) Uploads

And another internal option made available for amigift, with this one you can define how many uploads per user are allowed, regarless of the giftd's global setting...


- Log Results

Enable all to print information about each search performed to the log file, and/or enable packets to print a line for each result packet generated to the log file. This line includes just the number of results in each packet.

- Hops As Meta

Whether to attach the number of hops each result travelled as a metadata field "Hops". Interesting to see but probably not too useful for the average user, and so disabled by default.

- Packet ascii logfile

Output to log ASCII Packets.

- Node List

How many connections attempts each maintain loop for nodes previously registered.

- Node Cache

How many connection attempts for nodes in the pong cache.



- Username

Your username. FastTrack will not allow access to the network without a username. The username is not unique on the network and is not to be trusted. The username must not contain whitespaces!

- Port

The port FastTrack will listen on for incoming connections. Both TCP and UDP.

- Forwarding

If you are behind a NAT and you are forwarding the above port you have to enable this i.e. you forward outside_ip:port -> inside_ip:port outside_ip and inside_ip are determined automatically. Do not enable this if you are not forwarding.

- Allow Sharing

If enabled FastTrack will share files as configured with giftd. If disabled files will never be shared on FastTrack even if giftd shares on other networks.

- Banlist Filter

If enabled FastTrack will filter out all search results which come from ips matching the ranges specified in the file AMIGIFT:daemon/FastTrack/banlist

- Auto Search More

If Enabled FastTrack will automatically search again after a search has completed.



- Username

Your username on the network. Ares seems to make some effort to uniqify these, so you may not get exactly what you request. Leaving this blank will get you an anon_xxxxxxxx username.

- Port

TCP port to listen on. Be sure to forward this if you're behind a firewall or NAT.

- Sessions

Number of supernodes to connect to. Be sensible, please.

- Timeout

Timeout in seconds from the time the search was sent to the first supernode. After the search has timed out all further results will be ignored.

If you are using a 3rd party plugin (a plugin developed by a entity outside the AMIGIFT Project Team) it is something from that plugin's author to provide the proper documentation. If that particular plugin has configuration options, those must be provided by using a MCC (MUI Custom Class) which GiFTMui should be able to load from the plugins folder (refer to the development section for further info). If no configuration options are provided, or if there is a problem with the MCC, you'll see the following message:


Once you made modifications to the daemon and/or plugin settings you have to use 'Save To Disk' button, that's required due else the daemon will not be aware of the changes, if you forgot it, you'll be prompted with the following requester:


In the other hand, the usage of Read From Disk is just to avoid mistakes by de-sync situations, and you shouldn't need to use it if you do not edit the config files manually and while you're using GiFTMui's Save Settings Exiting switch option. Hence, if you usually edit the config files and/or do not save the MUI settings on program exit, you're required to use this button before making any change on each of the pages which contains this button. Also, isn't required either to use this button on the first GiFTMui run, since it has internally stored default options for quite everything, but keep it mind that if for some reason you need to manually delete the mui config file ENVARC:MUI/GIFTMUI.cfg, then indeed you must use this button on the next program run, resuming, you're encouraged to activate Save Settings Exiting switch and to not edit the config files manually (if isn't strictly needed) you were avoided headaches.. on the first run just go the preferences window and configure everything to fit your needs, use the objects bubble-helps if you need support to understand something, on most cases the default options will be ok probably, however do not assume that and take a moment to review what each option are for, you'll avoid more headaches later... Finally, once you finished configuring, click on Save To Disk for each of the page frame which contains this button, this will save the options to the config text-files which are later loaded by the daemon. If you need to configure several components (eg: It's your first program run) you could use Save To Disk ALL instead, from the settings menu, and all settings for the daemon and/or plugins will be saved on a single step.

You'll be prompted with the following requester when such a de-sync situation happend - here we just edited the giftd.conf and Ares.conf files to this to happens to take the screenshot:


To give some more background on this, each of the preferences option has a Object's ID which MUI uses to save its contents to ENVARC:MUI/GIFTMUI.cfg upon program exit. The settings saved there are totally independient from the daemon/plugins configuration files and/or options, this can be interpreted as a safe-copy to them.. On program startup, and only once each reset, the settings stored into ENVARC:MUI/GIFTMUI.cfg will be compared against the daemon/plugins config files (AMIGIFT:daemon/giftd.conf and AMIGIFT:daemon/<plugin>/<plugin>.conf, where "<plugin>" is the network plugin name). If the comparison fails, you'll be instructed to use "Read From Disk", as shown on that requester, assuming such .conf files are the more recent and therefore the ones we should trust, that's unless there was a write error writing back to disk those daemon/plugins files, in such case you'll need to use "Save To Disk" instead to re-generate the corrupted file(s) - a bit some more info about this is provided on the FAQ.


That's the Transfers Window, where Downloads and Uploads are shown/processed (click on the image to enlarge it). Note COMPACTMODE Windows was being used at time of the screenshot. Here we have to mention that downloads and uploads lists are managed by the same MUI Custom Class, including those monitor windows accessed from the application menu, and the downloads list build into the main window, being each list working independiently from each other except that later one which inherit the actions performed on the Transfer's downloads list (and viceversa), but only while it's enabled to avoid some overload, as previously explained.

Well, we'll start explaining the Transfers Window from top to bottom, Starting with the ToolBar from left to right:

On the right side of the toolbar (without being part of it) you can see a little black cyrcle, it's an GIF Anim representing a radar, which is showed when a Inspector is running. That GIF Anim is loaded from AMIGIFT:Images/insact.gif and therefore freely changeable to something else you wishes.

Following the layout, here it comes now the main downloads list:

When more than a single download is found, an additional info bar at top of the downloads list will show up, as you can see on the screenshot. What you will read on that info bar is the following: On the left side, and only when a Locator is running, you will see something like Locating xyx (xx Queued) where xyz is the Download's Session Identifier (sesid column number, below explained), and hence, the download for what we are looking for more sources to download from. And, xx represents the number of "Locator Instances" waiting to be launched to locate sources for other downloads (but that only works if you keep Handle Queue switch option enabled, else the last running instance will be aborted when a new Locator is requested/launched).   On the right side, you'll find a Lamp which will be black when none of the downloads are active, green otherwise; next, the total number of downloads, followed by the number of active downloads, and the number of downloads without sources (and suitable then to launch a Locator over them)

...and the meaning of each of the columns:

The downloads list has its own context-menu as well, a tiny one at least, where you can find some of the same entries the Toolbar has, plus two additional ones:

Continuing explaining the Transfers Window, next in the layout you can find a BetterBalance.mcc's object, which you can use to resize both lists. And next to that Balance object is the Uploads List, which we need not to mention since it works the same way as the downloads list does (as previously mentioned, all those lists are managed by a single MUI's private custom class)

regwarn NOTE: If some of the options/features aren't available to you, it's just because those are to registered users, please help us help you, support amigift today registering! :)

Following are the list of supported Tooltypes which you can change from the GiFTMui's icon file, note that some of those options are setable from the preferences window as well, but available from here since may those need to be used before the MUI application gets actually created. On the first run, those options from the preferences window will inherit the default values from those found as tooltypes.

Name Description Default Value
BWINDOWS If you want to use BWindows rather than normal (MUI-default) Windows. NO
CHUNKPROGRESS If you want to use a gauge-like object to transfers progress. Users of low-powered systems, who normally download lots of files simultaneously, may want to disable this. YES Registered Users Only
COMPACTMODE This mode creates the main window on a very nice fashion, grouping most used windows into that single window, as previously seen. NORegistered Users Only
DAEMONWARNS If you want daemon's warnings/errors showing up on the GiFTMui's debug window. YES
DTABLESIZE How many connections you want the daemon to manage, refer to the ChangeLog entry for 2008-01-24 for further info. 256
FIOASYNC If you want to use asynchronous I/O sockets. YES (while under MiamiDx, NO otherwise)
FIONBIO While enabled causes sockets to work in non-blocking I/O mode, which is highly recommended. YES
FORCE_REHASH If enabled, the daemon will check your shares on each startup, once a month otherwsie. NO
REQTIMEOUT The timeout used to requesters to get automatically cancelled. 45
SPLASHWINDOW If you want to use the SplashWindow to the Startup step. YES
SWEXIT If you want to use the SplashWindow to the Exit step. YES
TEAROFF If you want to use that MUI Custom Class... NO Registered Users Only
TOOLBARHVERT While using TEAROFF, this causes the toolbar to be horizontal or vertical movable. NO
USESENDQUEUE In the hope to get the daemon less congestioned, this option causes GiFTMui to use an internal queue where packets are stored before they are actually sent. YES
AUTOREADSAVE Handling of 'Read From Disk' and 'Save To Disk' will be perfomed automatically when requesters are about to pop-up asking for it. NO
TFSTATUS Controls whenever the main window's counter for all active transfers should be enabled/used. YES Registered Users Only
TRACKDLS This control if the Transfers Window's downloads list should include the info bar... YES Registered Users Only
CMAPSETUP Short for Compact-Mode ActivePage Setup. This is some MUI *hack* which while working on COMPACTMODE will handle objects's MUIM_Setup and MUIM_Cleanup switching between tabs (RegisterGroup Pages), and therefore starting/killing notifications and other setup/cleanup actions when the ActivePage isn't the visible one. NO Registered Users Only
WSEASYNC While FIOASYNC isn't activated, Socket events will still be handled asynchronously (Internally by GiFTMui itself), using this tooltype you can disable such async way, just in case you *really* need to for whatever reason... YES
NLSLEEP Similar to CMAPSETUP, This is another "hack" which will put "to sleep" NList(s) as possible to try to achieve a better perfomance, this is just done by using Quiet, Disabled, and GoInactive... NO Registered Users Only
MUICFG Use this tooltype to provide a filename where to store MUI settings, eg: MUICFG=AMIGIFT:GiFTMui.cfg - If no tooltype is provided it will fallback to the default ENVARC:MUI/GiFTMui.cfg YES

Not related to tooltypes, but we take this time to show and explain the appicons used by GiFTMui, a couple of them to the diferrent states. Those icons are located at AMIGIFT:Images/ and you are free to change them to anything else.


From left to right, Offline, Online, Downloading, Uploading, and both Downloading and Uploading.

When the daemon isn't running, the appicon used will be the default application icon (, while if it's running but you are not connected to it the appicon being used will be therefore the Offline one.

go to index

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