AMIGA-Magazin
· Ausgabe 6/02
· Erweiterung: »ToolsMenu«
6/02
Kleine Workbench-Hilfe
Das Hilfsmittel-Menü der Workbench existiert bereits seit Einführung von AmigaOS 2.0.
Es konnte aber vom Benutzer nicht einfach so verändert werden.
Das soll sich Dank »ToolsMenü« nun ändern.
von Michael Christoph
Bereits mit der Einführung von AmigaOS 3.5 und deren überarbeiteter
Workbench wurden offizielle Möglichkeiten eingeführt, um das Hilfsmittel-Menü
(bzw. Tools-Menü bei englischer Spracheinstellung) zu erweitern. Diese
Möglichkeiten waren zwar jedem zugänglich, allerdings erfordert
es schon einiges an
ARexx-Kenntnissen, um sie auch benutzen zu können. Dass es auch einfacher
geht, beweist der »inoffizielle« Prefs-Einsteller »ToolsMenu«.
ARexx macht`s möglich
|
Einsteller:
Mit "Tools-Menü" können Sie per GUI die
Einträge im Hilfmittel-Menü editieren.
|
|
Wenden wir uns aber zuerst der Theorie und der Handarbeit zu.
In der Workbench-Dokumentation ist unter Punkt 11 (»Menu command«)
Format wie in Listing 1 nachzulesen.
Die WINDOW- und INVOKE-Angaben sind für unser Vorhaben nicht weiter relevant.
Mit ADD können neue Einträge zum Hilfsmittel-Menü hinzugefügt,
mit REMOVE Einträge entfernt werden. Die Identifizierung der Einträge
erfolgt über
NAME. Dieser muss für jeden Eintrag eindeutig sein. Mit TITLE wird der
Text angegeben, der später als Menüeintrag zu sehen ist. Optional
kann auch ein SHORTCUT mit gleichnamigem Parameter definiert werden. Dadurch
lässt sich der Menüpunkt direkt über die Tastenkombination
rechte Amiga-Taste + Shortcut auslösen, ohne das Menü öffnen
und den Eintrag auswählen zu müssen. Es ist darauf zu achten, dass
der Shortcut eindeutig ist, also noch nicht von einem anderen Workbench-Menüpunkt
benutzt wird. Bliebe abschließend noch der Eintrag CMD. Über diesen
wird die eigentliche Aktion festgelegt. Also dass, was passieren soll, wenn
der Menüpunkt ausgewählt wird. Zu beachten ist, dass es sich hierbei
um ARexx-Commandos handelt (es kann auch ein internes Workbench-Kommando sein).
Soll ein Programm gestartet werden, ist vor dem eigentlichen (Pfad- und) Programmnamen
ein address command zu setzen.
Am Anfang steht Handarbeit
Ein vollständiger Aufruf zum Einfügen eines Menüpunktes hat
somit folgendes Aussehen:
MENU ADD NAME entry01 TITLE "test-1" CMD "???"
Zum Entfernen dieses Punktes reicht:
MENU REMOVE NAME entry01
Diese Kommandos können Sie direkt in der Shell ausprobieren. Dazu ist
lediglich ein rx ¸ADDRESS workbench` voranzustellen. Es ist unbedingt
auf die korrekte Quotierung der Texte und Kommandos zu achten. Dabei akzeptiert
ARexx sowohl einfache¸ als auch doppelte Anführungsstriche. In
der Regel sind Kombinationen dieser Quotierungen notwendig. Es ist zwar schwer
zu lesen, aber mit ein bißchen Übung geht es trotzdem.
Werden nun die gewünschten Kommandos in eine Textdatei eingetragen und
mit dem Attribut Start durch ARexx in den Piktogramm-Einstellungen versehen,
so kann diese Menübelegung einfach per Doppelklick aktiviert werden.
Sollen die Menüpunkte sofort nach dem Start der Workbench verfügbar
sein, muss diese Textdatei nur in die Schublade WBStartup der System-Partition
gezogen/kopiert werden.
Bequemer mit
einem GUI
|
Ergebnis:
Ein verändertes Hilfsmittel-Menü in Aktion.
|
|
Zwar steht uns bei der beschriebenen Möglichkeit das komplette Hilfsmittel-Menü
zur Verfügung, besonders bequem ist es aber nicht. Das Programm ToolsMenu
ist genau für diesen Zweck gemacht. Es erlaubt, die neuen Menüpunkte
bequem in einer grafischen Benutzeroberfläche zu erfassen und als fertiges
Script abzuspeichern, das jederzeit per Doppelklick aktiviert werden kann. Dabei
verwendet es das Reaction-GUI-System. Es präsentiert sich somit optisch,
wie die anderen Systemeinsteller und stellt auch die identischen Menüpunkte
und Bedienelemente zur Verfügung. Daraus ergibt sich auch schon als Minimalanforderung
AmigaOS 3.5. Ansonsten stellt das Programm keine Anforderungen an die Systemumgebung.
Nach dem Start von ToolsMenu wird das Programmfenster mit einer leeren Liste
angezeigt. Wurden bereits Einträge in das Menü aufgenommen, zeigt
das Programm die aktuelle Belegung an. In dieser Liste werden die gewünschten
Menüpunkte eingetragen und auch die Reihenfolge der Einträge wird
hier festgelegt.
Neue Einträge werden erzeugt, indem auf den Neu-Schalter geklickt wird. Die
neue Zeile wird sofort mit dem Eintrag New Entry <Nr> vorbelegt und der
Cursor zur Eingabe aktiviert. Interessant ist hierbei die Lösung, direkt
im Scroller die Eingaben vornehmen zu können und nicht erst ein zusätzliches
Eingabefenster zu öffnen. Um den Cursor zur Eingabe zu aktivieren, ist zweimal
mit der linken Maustaste in das gewünschte Feld zu klicken. Ansonsten stehen
alle bekannten Eingabemöglichkeiten zur Verfügung. Besonders wichtig
ist es, die Shortcut-Eingabe mittels Return zu bestätigen. Dadurch prüft
das Programm automatisch, ob der verwendete Shortcut noch frei war und gibt ggf.
eine Hinweismeldung aus. Von den üblichen Shortcuts (Buchstaben und Zahlen)
zeigt ToolsMenu außerdem an, welche noch nicht benutzt wurden. Es können
aber auch Sonderzeichen und Satzzeichen verwendet werden. Groß- und Kleinbuchstaben
werden dabei von der Workbench nicht unterschieden. Bliebe letztlich noch die
dritte Spalte für das Kommando. Zu beachten ist hierbei, dass direkt Programme
angegeben werden können. Es ist der vollständige Pfad und Programmname
einzutragen. Ergänzt werden kann die Angabe durch zusätzliche Startparameter,
die dem Programm mitgegeben werden sollen. Soll ein ARexx-Kommando oder ein ARexx-Script
ausgeführt werden, was wohl selten der Fall sein dürfte, so reicht es
aus, rx voranzustellen. Bevor mit »Löschen« die aktuelle Zeile
entfernt wird, erfolgt eine Rückfrage. Mit »Höher« und »Tiefer«
kann die Reihenfolge der Einträge verändert werden. Während mit
dem »Benutzen«-Schalter die Eingaben lediglich im Hilfsmittel-Menü
eingetragen werden, wird bei »Speichern« zusätzlich die Datei
»AddToToolsMenue.rexx« in der WBStartup-Schublade der Workbench abgelegt.
Dadurch steht die Menübelegung auch sofort nach einem Neustart des Amigas
zur Verfügung. Der dritte Schalter »Abbrechen« beendet einfach
das Programm und verwirft alle vorgenommenen Eingaben, falls diese nicht gespeichert
wurden. Gespeichert werden kann die aktuelle Liste über den Menüpunkt
Projekt/speichern als Dazu wird der Systemdatei-Requester zur Auswahl der Schublade
und des Dateinamens geöffnet. Umgekehrt kann über den Menüpunkt
Projekt/öffnen eine bestehende Datei geladen werden. Die vorhandenen Eingaben
werden dabei verworfen und durch die in der Datei ersetzt. ToolsMenu prüft
dabei auch, ob es sich tatsächlich um eine früher gespeicherte Projekt-Datei
handelt.
Bitte kein DOpus
Listing1: Die Anweisungen zur Bearbeitung des Hilfsmittel-Menüs.
MENU [WINDOW <Window name>] [INVOKE] <Menu name>
[NAME <Menu name>] [TITLE <Menu title>]
[SHORTCUT <Menu shortcut>] [ADD|REMOVE]
[CMD <ARexx command>]
|
Ein Schwachpunkt bei der ganzen Sache, die weder dem Programm,
noch der Workbench angelastet werden kann, ist Directory Opus (ab Version 4).
Läuft es im Hintergrund oder sogar als Workbench-Ersatz, sollte es verständlich
sein, daß die Wb 3.5-Erweiterungen nicht mehr zur Verfügung stehen!
In diesem Fall gibt ToolsMenu einen entsprechenden Warnhinweis beim Start aus.
Das Programm kann zwar ganz normal benutzt werden, ob allerdings das Einfügen
der Menüpunkte tatsächlich möglich ist, zeigt erst ein Mausklick
auf »Benutzen« oder »Speichern«.
Das Beste zum Schluss
Das Programm finden Sie zum kostenlosen Download auf der Webseite des Autors
[1]. bzw. auf der Amiga-Magazin-Heft-CD. Die beiliegende Anleitung im AmigaGuide-Format
erklärt außerdem noch einmal jeden einzelnen Schalter und Menüpunkt.
Dem Programm liegt außerdem eine deutsche Katalogdatei bei. Ohne diese
werden englische Texte verwendet.
lb
Informationen: [1] ToolsMenu,
http://www.meicky-soft.de/abin/toolsmenu.html
© 2002 All Rights Reserved. Alle Rechte vorbehalten Franzis'
Verlag GmbH
Veröffentlichung und Vervielfältigung nur mit schriftlicher Genehmigung des Verlags
Kommentare, Fragen, Korrekturen und Kritik bitte an Webmaster AMIGA schicken.
Zuletzt aktualisiert am 30. Mai 2002, Michael Christoph.