Difference between revisions of "Exchanger"
(Created page with "== Introduction == Exchanger is a program manager for AmigaOS 4. It allows basic external control of running applications and commodities, including: * showing or hiding the...") |
|||
(16 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
+ | [[File:Exchanger_About.png|thumb|250px|Exchanger About Window]] | ||
+ | |||
== Introduction == | == Introduction == | ||
− | Exchanger is a program manager for AmigaOS 4. It allows basic external control of running applications and commodities, including: | + | {| |
+ | |- | ||
+ | |[[File:Exchanger_Icon.png]] | ||
+ | |Exchanger is a program manager for AmigaOS 4. It is part of the [[Enhancer Software]] package for AmigaOS. | ||
+ | |} | ||
+ | |||
+ | It allows basic external control of running applications and commodities, including: | ||
* showing or hiding the program GUI; | * showing or hiding the program GUI; | ||
Line 17: | Line 25: | ||
Exchanger cannot possibly run on earlier systems because of certain Commodities Library features that were not implemented before version 53.6. Program window snapshotting and menu images will only be available when running Exchanger under AmigaOS 4.1 Final Edition or newer. | Exchanger cannot possibly run on earlier systems because of certain Commodities Library features that were not implemented before version 53.6. Program window snapshotting and menu images will only be available when running Exchanger under AmigaOS 4.1 Final Edition or newer. | ||
− | The program will use the InfoWindow Class for its About window if the class is installed in the system. | + | The program will use the [[InfoWindow Class]] for its About window if the class is installed in the system. |
== Program control in AmigaOS 4.x == | == Program control in AmigaOS 4.x == | ||
Line 23: | Line 31: | ||
As of AmigaOS release 4, there are two types of program that register with the operating system: | As of AmigaOS release 4, there are two types of program that register with the operating system: | ||
− | * ''commodities'' ( | + | * ''commodities'' (managed via the Commodities Library); |
− | * ''registered applications'' ( | + | * ''registered applications'' (managed via the Application Library). |
Both types supply the OS with some information about themselves, and provide a certain level of external control. For example, both commodities and registered applications can hide or show their user interface (GUI) in response to a command sent via the respective library. Similarly, a commodity or an application can shut itself down when a corresponding command is received. | Both types supply the OS with some information about themselves, and provide a certain level of external control. For example, both commodities and registered applications can hide or show their user interface (GUI) in response to a command sent via the respective library. Similarly, a commodity or an application can shut itself down when a corresponding command is received. | ||
Exchanger aims at becoming a common control point for both program types. | Exchanger aims at becoming a common control point for both program types. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- | ||
+ | | [[File:Exchanger_Commodities.png|thumb|254px|Exchanger Commodities Control]] | ||
+ | | [[File:Exchanger_Applications.png|thumb|254px|Exchanger Applications Control]] | ||
+ | |} | ||
== User interface == | == User interface == | ||
Line 38: | Line 52: | ||
* the graphic ''toolbar'', located below the info display; | * the graphic ''toolbar'', located below the info display; | ||
* the ''menu''. | * the ''menu''. | ||
+ | |||
+ | Closing the program window via the close gadget will NOT quit Exchanger. Rather, the program will be put to hidden state and run in the background, from which it can be recalled using the CX_POPKEY keyboard shortcut (see below in Configuration). | ||
+ | |||
+ | === Program list === | ||
+ | |||
+ | The program list displays all applications and commodities currently registered in the system, in alphabetical order. By default Exchanger will not show itself in the list; this can be overridden by settings (see below in Configuration). | ||
+ | |||
+ | Two or more running instances of the same registered application will show up as separate entries in the program list. The individual instances will be distinguished by their application ID in the info display. | ||
+ | |||
+ | Programs that are neither commodities, nor they register with the Application Library will not appear in Exchanger's program list. If you think that a particular program would benefit from being controlled by Exchanger, please contact the author of the software in question. | ||
=== Info display === | === Info display === | ||
Line 47: | Line 71: | ||
The toolbar consists of five graphic buttons, from left to right: | The toolbar consists of five graphic buttons, from left to right: | ||
− | ; | + | ;Show interface |
: If the program allows external control of its GUI, this button will send a command telling the respective program to bring up its GUI. | : If the program allows external control of its GUI, this button will send a command telling the respective program to bring up its GUI. | ||
− | ; | + | ;Hide interface |
: If the program allows external control of its GUI, this button will send a command telling the respective program to hide (commodities) or iconify (applications) its GUI. | : If the program allows external control of its GUI, this button will send a command telling the respective program to hide (commodities) or iconify (applications) its GUI. | ||
− | ; | + | ;Enable/Disable |
: If the program is a commodity, this button will toggle its activation state. A disabled (inactive) commodity cannot receive input events from the Commodities Network. This button will be unavailable (ghosted) if the program is an application. | : If the program is a commodity, this button will toggle its activation state. A disabled (inactive) commodity cannot receive input events from the Commodities Network. This button will be unavailable (ghosted) if the program is an application. | ||
− | ; | + | ;WB Info |
: If Exchanger is able to locate the selected program's icon, this button will display the Workbench information requester for the given program. | : If Exchanger is able to locate the selected program's icon, this button will display the Workbench information requester for the given program. | ||
− | ; | + | ;Shutdown |
: Tells the selected program to quit. | : Tells the selected program to quit. | ||
If a button is not available, it usually means that the particular function is not supported by the selected program. For example, commodities that have no GUI will have the Show/Hide interface buttons ghosted. | If a button is not available, it usually means that the particular function is not supported by the selected program. For example, commodities that have no GUI will have the Show/Hide interface buttons ghosted. | ||
− | + | If Exchanger cannot find its images at startup, it will use text-only buttons in the toolbar. | |
− | + | === Menu === | |
− | + | Exchanger features a standard Amiga menu strip, with the following commands: | |
− | + | ==== Project ==== | |
− | |||
− | ; | + | ;About |
− | : | + | : Displays the program information window. |
− | ; | + | ;Hide |
− | : | + | : Hides the program GUI completely. |
− | ; | + | ;Iconify |
− | : | + | : Iconifies the program on the Workbench screen. |
− | ; | + | ;Quit |
− | : | + | : Quits Exchanger. |
− | + | ==== Settings ==== | |
− | |||
− | ; | + | ;Show self in program list? |
− | : | + | : Toggles the display of Exchanger in the program list. |
− | + | ;Show hints? | |
+ | : Toggles the display of help hints for the toolbar buttons. | ||
− | + | ;Save | |
+ | : Stores current settings as tooltypes in the program icon. | ||
− | + | == Configuration == | |
− | |||
− | |||
− | + | Exchanger is configured via icon tooltypes or command line parameters, depending on whether the program is started from Workbench or Shell. Some of its features can also be configured during runtime from the Settings menu. | |
− | SHOWHINTS | + | {| class="wikitable" |
+ | !Tooltype | ||
+ | !CLI parameter | ||
+ | !Description | ||
+ | |- | ||
+ | |DONOTWAIT | ||
+ | |N/A | ||
+ | |If you run Exchanger from WBStartup, make sure this tooltype is in place. | ||
+ | |- | ||
+ | |CX_PRIORITY | ||
+ | |CX_PRIORITY | ||
+ | |The priority of Exchanger's commodity broker (default: 0). No need to change this. | ||
+ | |- | ||
+ | |CX_POPUP | ||
+ | |CX_POPUP | ||
+ | |Determines whether Exchanger should display its GUI on program startup (default: YES). If you run Exchanger from WBStartup, you'll probably want to change this to NO (the program will run hidden) and bring up the Exchanger window via the CX_POPKEY shortcut when needed. | ||
+ | |- | ||
+ | |CX_POPKEY | ||
+ | |CX_POPKEY | ||
+ | |The keyboard shortcut to bring Exchanger back from hidden or iconified state (default: ctrl-alt-x). | ||
+ | |- | ||
+ | |SHOWSELF | ||
+ | |SHOWSELF | ||
+ | |Determines whether Exchanger should display itself in the program list (default: NO). | ||
+ | |- | ||
+ | |SHOWHINTS | ||
+ | |SHOWHINTS | ||
+ | |Determines whether Exchanger should display help hints for the toolbar buttons (default: YES). | ||
+ | |- | ||
+ | |GUIIMAGES | ||
+ | |GUIIMAGES | ||
+ | |Specifies the DOS path to the images used by the program (default: PROGDIR:Images). | ||
+ | |} | ||
− | + | == Notes on use == | |
− | + | Multiple instances of Exchanger are not allowed. An attempt to start a second instance will bring up the currently running one. | |
− | The way the program reacts to the control commands sent by Exchanger absolutely depends on how the respective program is implemented. If a program allows external control (which should normally be the case with both commodities and registered applications), it is the responsibility of the programmer to implement it in a sensible, logical and safe way. | + | The way the selected program reacts to the control commands sent by Exchanger absolutely depends on how the respective program is implemented. If a program allows external control (which should normally be the case with both commodities and registered applications), it is the responsibility of the programmer to implement it in a sensible, logical and safe way. |
* If a program does not provide the information it should (for example, no description for it is shown in Exchanger's info display), | * If a program does not provide the information it should (for example, no description for it is shown in Exchanger's info display), | ||
Line 114: | Line 168: | ||
* if a program does not quit (or worse, crashes) upon pressing the Shutdown button, | * if a program does not quit (or worse, crashes) upon pressing the Shutdown button, | ||
− | please contact the author of the respective program. Exchanger is really just a control board | + | please contact the author of the respective program. Exchanger is really just a control board which - on user request - tells other programs what to do. |
+ | |||
+ | == Developers == | ||
+ | |||
+ | If you would like to implement or improve external control in your software so that it works better with program managers like Exchanger, please contact A-EON. You will be given all support. |
Latest revision as of 19:39, 16 April 2016
Introduction
Exchanger is a program manager for AmigaOS 4. It is part of the Enhancer Software package for AmigaOS. |
It allows basic external control of running applications and commodities, including:
- showing or hiding the program GUI;
- shutting the program down;
- displaying the Workbench information requester for the particular program;
- enabling and disabling commodities.
The name may suggest that Exchanger is a replacement for Commodore's original Exchange tool distributed as part of the Amiga operating system. This is partly true; however, the scope of usability is wider. In addition, Exchanger supports modern AmigaOS features such as jumping between screens, object-oriented menus with images, or program window snapshotting.
Minimum requirements
- AmigaOS 4.1 Update 6 or newer
- Commodities Library version 53.6 or newer
Exchanger cannot possibly run on earlier systems because of certain Commodities Library features that were not implemented before version 53.6. Program window snapshotting and menu images will only be available when running Exchanger under AmigaOS 4.1 Final Edition or newer.
The program will use the InfoWindow Class for its About window if the class is installed in the system.
Program control in AmigaOS 4.x
As of AmigaOS release 4, there are two types of program that register with the operating system:
- commodities (managed via the Commodities Library);
- registered applications (managed via the Application Library).
Both types supply the OS with some information about themselves, and provide a certain level of external control. For example, both commodities and registered applications can hide or show their user interface (GUI) in response to a command sent via the respective library. Similarly, a commodity or an application can shut itself down when a corresponding command is received.
Exchanger aims at becoming a common control point for both program types.
User interface
Exchanger features a simple and easy-to-use graphic user interface (GUI) contained within a single program window. The GUI consists of four main parts:
- the program list, located on the left-hand side of the program window; it lists all programs currently registered in the OS;
- the info display on the right, which shows information about the program;
- the graphic toolbar, located below the info display;
- the menu.
Closing the program window via the close gadget will NOT quit Exchanger. Rather, the program will be put to hidden state and run in the background, from which it can be recalled using the CX_POPKEY keyboard shortcut (see below in Configuration).
Program list
The program list displays all applications and commodities currently registered in the system, in alphabetical order. By default Exchanger will not show itself in the list; this can be overridden by settings (see below in Configuration).
Two or more running instances of the same registered application will show up as separate entries in the program list. The individual instances will be distinguished by their application ID in the info display.
Programs that are neither commodities, nor they register with the Application Library will not appear in Exchanger's program list. If you think that a particular program would benefit from being controlled by Exchanger, please contact the author of the software in question.
Info display
As commodities and applications register with slightly different information about themselves, the info display is tabbed in order to cater for both program types. The first tab is for applications, the other for commodities. Should a program register as a commodity and, at the same time, as an application (the OS technically allows this, although such implementation is rarely useful), the program name will only be shown once in the program list, and the user can switch between the tabs in the info display to see the respective information.
Toolbar
The toolbar consists of five graphic buttons, from left to right:
- Show interface
- If the program allows external control of its GUI, this button will send a command telling the respective program to bring up its GUI.
- Hide interface
- If the program allows external control of its GUI, this button will send a command telling the respective program to hide (commodities) or iconify (applications) its GUI.
- Enable/Disable
- If the program is a commodity, this button will toggle its activation state. A disabled (inactive) commodity cannot receive input events from the Commodities Network. This button will be unavailable (ghosted) if the program is an application.
- WB Info
- If Exchanger is able to locate the selected program's icon, this button will display the Workbench information requester for the given program.
- Shutdown
- Tells the selected program to quit.
If a button is not available, it usually means that the particular function is not supported by the selected program. For example, commodities that have no GUI will have the Show/Hide interface buttons ghosted.
If Exchanger cannot find its images at startup, it will use text-only buttons in the toolbar.
Menu
Exchanger features a standard Amiga menu strip, with the following commands:
Project
- About
- Displays the program information window.
- Hide
- Hides the program GUI completely.
- Iconify
- Iconifies the program on the Workbench screen.
- Quit
- Quits Exchanger.
Settings
- Show self in program list?
- Toggles the display of Exchanger in the program list.
- Show hints?
- Toggles the display of help hints for the toolbar buttons.
- Save
- Stores current settings as tooltypes in the program icon.
Configuration
Exchanger is configured via icon tooltypes or command line parameters, depending on whether the program is started from Workbench or Shell. Some of its features can also be configured during runtime from the Settings menu.
Tooltype | CLI parameter | Description |
---|---|---|
DONOTWAIT | N/A | If you run Exchanger from WBStartup, make sure this tooltype is in place. |
CX_PRIORITY | CX_PRIORITY | The priority of Exchanger's commodity broker (default: 0). No need to change this. |
CX_POPUP | CX_POPUP | Determines whether Exchanger should display its GUI on program startup (default: YES). If you run Exchanger from WBStartup, you'll probably want to change this to NO (the program will run hidden) and bring up the Exchanger window via the CX_POPKEY shortcut when needed. |
CX_POPKEY | CX_POPKEY | The keyboard shortcut to bring Exchanger back from hidden or iconified state (default: ctrl-alt-x). |
SHOWSELF | SHOWSELF | Determines whether Exchanger should display itself in the program list (default: NO). |
SHOWHINTS | SHOWHINTS | Determines whether Exchanger should display help hints for the toolbar buttons (default: YES). |
GUIIMAGES | GUIIMAGES | Specifies the DOS path to the images used by the program (default: PROGDIR:Images). |
Notes on use
Multiple instances of Exchanger are not allowed. An attempt to start a second instance will bring up the currently running one.
The way the selected program reacts to the control commands sent by Exchanger absolutely depends on how the respective program is implemented. If a program allows external control (which should normally be the case with both commodities and registered applications), it is the responsibility of the programmer to implement it in a sensible, logical and safe way.
- If a program does not provide the information it should (for example, no description for it is shown in Exchanger's info display),
- if a program does not react to the interface control buttons (Show/Hide),
- if a commodity cannot be enabled or disabled,
- if a program does not quit (or worse, crashes) upon pressing the Shutdown button,
please contact the author of the respective program. Exchanger is really just a control board which - on user request - tells other programs what to do.
Developers
If you would like to implement or improve external control in your software so that it works better with program managers like Exchanger, please contact A-EON. You will be given all support.