Short: Add tools to the Workbench Tools menu Author: Kim Fastrup Larsen Uploader: kimflarsen hotmail com (Kim Fastrup Larsen) Type: util/cdity Version: 1.11.2 Architecture: m68k-amigaos >= 2.0 New in version 1.11.2 --------------------- - A new, slightly less generic icon. The installer will NOT update the icon, since this is where menu definitions are stored. To get the new icon, you will have to delete the program in the WBStartup drawer manually before running the installer. Remember, you will lose your definitions! - Improved keyboard handling. - Fixed not checking whether atexit succeeds. - For those interested in the source code, the requester code has been improved considerably. Requesters can now have multiple buttons, and the buttons can show shortcut keys by underlining a character à la GadTools. What is ToolsMenu? ------------------ ToolsMenu is a commodity that will let you add tools and projects to the Tools menu on your Workbench screen. Once an item has been added, you can launch it by selecting it from the menu. Any icons selected on the Workbench at that moment become arguments for the launched tool. For example, if you add MultiView, you can select the icon of an image on the Workbench, then select MultiView from the menu to view that image. Tools will be run as if started by the Workbench. You will not be able to open tools or projects that do not have icons, nor tools or projects with the CLI tool type present in their icons. If the menu item is a project, the project icon's Default Tool will be launched, and the project itself will become the first argument. ToolsMenu requires Kickstart 2 or newer. Full source code is included. Installation ------------ To have ToolsMenu start automatically whenever you boot your system, simply run the installer included. This will install ToolsMenu in SYS:WBStartup, or update it there if it is al- ready installed. This will also install language files in SYS:Locale/Catalogs for existing languages. The languages currently provided are English, Danish, German and Italian. You should reboot after installing to make sure the newly installed program is running and using the updated language files. The behaviour of ToolsMenu can be adjusted via tool types in the program's icon in your WBStartup drawer. To prevent ToolsMenu from opening its window when it starts up, set the following tool type: CX_POPUP=NO The default hot key for bringing up the ToolsMenu window is control alt t. You can change it by using the tool type CX_POPKEY, like this: CX_POPKEY= Your menu definitions are stored in the icon as tool types, so if you replace the icon, be aware that you will lose your definitions! Operation --------- Adding items should be pretty self explanatory. Drag icons into the window to add them, after which you can edit their names if you like. You can also click the "New" button to manually enter an item. You then write the name of the item (as you would like it to appear in the menu) under the list, and type in the full path of the tool or project over on the right where it says "Tool". The path must include the name of the tool or project. You can move the currently selected item up and down using the Edit menu. You can also sort the items alphabetically. Note that the order of items will not be reflected in the Workbench menu until you close the window. ToolsMenu features keyboard shortcuts for its gadgets that are mostly self explanatory. The one for the list, however, may surprise in that, if an item is currently selected, pressing the shortcut key will go to the NEXT item. This lets you step through the items by alternating the shortcut key with Enter/Return (to get out of the editing gadget). You can hold shift to step in the opposite direction. ToolsMenu can be iconified from the Project menu. In this state, items can be added by dragging their icons onto the commodity icon. When you are happy with your selection of items, you must remember to save them from the pull down menu! The defini- tions will be saved as tool types in ToolsMenu's icon. Please be aware that when you close the ToolsMenu window, there can be a period of several seconds where not all menu items are visible, as it can take some time to update the menu. Running ToolsMenu from a CLI ---------------------------- Should you wish to start ToolsMenu from a CLI, you can use the CX_POPUP argument to prevent its window from opening. For example: Run >NIL: /ToolsMenu CX_POPUP=NO When started from a CLI, ToolsMenu will wait for three sec- onds before installing its menu items. This is to give Work- bench time to initialize in case we are starting from the User-startup or Startup-sequence. If this proves to be too short of a delay (ie. you don't see your menu items after booting and waiting for three sec- onds), you can specify a delay as a number seconds. For ex- ample, to specify a delay of five seconds, do this: Run >NIL: /ToolsMenu DELAY=5 You can use DELAY=0 to not have any delay. You can specify a hotkey with the CX_POPKEY argument. For example: Run >NIL: /ToolsMenu CX_POPKEY="ctrl alt t" Notice the use of quotation marks to allow for spaces in the hot key argument value. NB: Even if you are running ToolsMenu from a CLI, the pro- gram icon (normally named ToolsMenu.info) must still be pre- sent in the same directory as the program, since your menu definitions are saved as tool types! Miscellaneous ------------- Thanks go to Samir Hawamdeh and Stefan Haubenthal for their translations, and to everyone who provided me with feedback and helpful suggestions! I have released several projects on Aminet. Almost all of them include source code, but the newer ones are probably the most useful, so allow me to highlight them here. ScreenTime - A highly configurable screen clock with a popup calendar: https://aminet.net/package/util/time/ScreenTime Labyrinth - Remake of a Commodore 64 game: https://aminet.net/package/game/misc/labyrinth64 Base Converter - Convert between bin/oct/dec/hex with a simple GUI: https://aminet.net/package/util/wb/BaseConv You can get a list of all my projects with this link: https://aminet.net/search?readme=kimflarsen History ------- 1.11.2 (Jul 21, 2024) - A new, slightly less generic icon. The installer will NOT update the icon, since this is where menu definitions are stored. To get the new icon, you will have to delete the program in the WBStartup drawer manually before running the installer. Remember, you will lose your definitions! - Improved keyboard handling. - Fixed not checking whether atexit succeeds. - For those interested in the source code, the requester code has been improved considerably. Requesters can now have multiple buttons, and the buttons can show shortcut keys by underlining a character à la GadTools. 1.11.1 (Aug 13, 2021) - Now includes German translation by Stefan Haubenthal. - List can now be scrolled with the cursor keys if using Kickstart 3 or newer. 1.11 (Jul 23, 2021) - Now able to look for tools in the command search path even when started from the Workbench. - Now comes with an installer that can also update an exist- ing installation without losing menu definitions. - Added the DONOTWAIT tool type to the program icon so users won't get a confusing message from the Workbench when they boot. - Will now scroll the list to make sure the menu item cur- rently being edited or moved is in view. - More keyboard shortcuts. - Messages can now be dismissed with the Esc key. - Now checks for the presence of the CLI tool type. - Documentation is (hopefully) more helpful now. 1.10.2 (Sep 20, 2019) - Now ignores case when sorting menu items. 1.10.1 (Sep 6, 2019) - Now ignores case when parsing YES/NO values in tool types and command line arguments. 1.10 (Aug 30, 2019) - When started from the Startup-Sequence (or any other CLI), ToolsMenu will now delay before installing its menu items, since Workbench may need time to initialize. If the de- fault delay of three seconds proves to be too short (or too long), a different one can be specified as a command line argument. One advantage of this delay is that you no longer need to place the Run command after LoadWB, and can therefore put it in User-Startup. - Will now show a helpful error message if menu items cannot be saved. - Fixed a bug when parsing the CX_PRIORITY command line ar- gument. 1.9.1 (Jun 11, 2019) - Fixed an issue introduced in 1.8 where changes made to the Tool Types of ToolsMenu's icon would be undone if you were to save your menu definitions in the same session. 1.9 (Jun 2, 2019) - It is now possible to add projects as well as tools. When selecting a project, the project icon's Default Tool will be launched with the project itself as the first argument. - If ToolsMenu has been started from a CLI, it can now look through the command search path for tools. - Will now look for the TOOLPRI tool type to set the execu- tion priority in the same way that Workbench does. - Fixed potential null pointer dereferences in case ToolsMenu's icon has been replaced by a freshly created icon with no tool types. 1.8.1 (Feb 13, 2019) - Fixed button shortcuts not working 1.8 (Feb 10, 2019) - Menu items can now be moved up and down using commands in the Edit menu; in order to make this run at a reasonable speed on all Amigas, the order of items will not be re- flected in the Workbench menu until you close the Commodi- ty window - The commodity can now be iconified from the Project menu; in this state, tools can be added by dragging their icons onto the commodity's icon - New and Delete buttons can now have keyboard shortcuts - About-requester can now be closed by pressing the left Amiga key with V or B, like system requesters - Includes Italian catalog by Samir Hawamdeh 1.7 (Feb 5, 2019) - Added a function to sort items alphabetically - The commodity's menu shortcut keys can now be localized 1.6 (Nov 26, 2018) - Minor UI adjustments - New, "proper" requester for About - Modularized the source code 1.5 (Jul 28, 2015) - Busy pointer for Kickstart 2 - Optimized and cleaned up a few things, made code more portable 1.4 (Apr 22, 2015) - Improved layout for big fonts. - Added "About..." 1.3 (Feb 12, 2015) - Fixed an issue that caused some commodities (and possibly other tools) to crash. 1.2 (Feb 3, 2015) - Use the user's preferred screen font. 1.1 (Jan 19, 2015) - Fixed an issue where trying to run a tool with an empty path would cause a Guru Meditation. 1.0 (Jan 12, 2015) - Initial release