New in version 1.11.4
---------------------
- Fixes and improvements.
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. Please read the HowToBuild
file before attempting to build the project!
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 hotkey>
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.
Separator bars
--------------
The AmigaOS releases up until and including 3.1 do not pro-
vide a way to create separator bars in the Tools menu.
However, later releases DO support separator bars, and the
way it works means you can easily create them in ToolsMenu
as well. Simply create a new menu item and give it a name
consisting entirely of '-', '_' or '~' characters, and the
operating system will turn it into a separator bar automati-
cally.
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: <path>/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: <path>/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: <path>/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
Character Map - Browse your Amiga's character set and copy
characters to the system clipboard:
https://aminet.net/package/text/misc/CharacterMap
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.4 (Sep 27, 2024)
- Fixes and improvements.
1.11.3 (Sep 13, 2024)
- Added a section to this file explaining how to create sep-
arator bars where this feature is supported.
- Now has an iconify gadget instead of zoom on AmigaOS 3.2
and 4.
- Now supports mouse wheel events on AmigaOS 3.2 and 4.
- Now ignores keyboard input (other than hot key) when mini-
mized.
- Revised layout routines for gadgets and requester.
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.
- 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
|