Eigene dynamische Menüs schreiben |
Sie Menüs oder Teile eines Menüs selbst erstellen oder ändern, indem Sie für das Menü mit Namen name den Befehl
(menu-bind name . prog)
benutzen. Sie können neue Einträge an ein existierendes Menü mit dem Namen name mit dem Befehl
(menu-extend name . prog)
anhängen. prog ist hier ein Programm, das von dem Menüeintrag repräsentiert wird. Sehen Sie sich die Dateien im Verzeichnis
progs/menu
um zu sehen, wie die Standard TeXmacs-Menüs definiert sind.
Genauer gesagt, ist das Programm prog in menu-set oder menu-append eine Liste von Einträgen einer der folgenden Formen:
(=> "pulldown menu name" menu-definition)
(-> "pullright menu name" menu-definition)
("entry" action)
–-
(if condition menu-definition)
(link variable)
Die Konstruktoren => und -> werden benutzt, um Pulldown- bzw. Pullright-Menüs zu erzeugen. menu-definition enthält ein Programm, das ein Unter-Menü erstellt. Der Konstruktor ("entry" action) erzeugt einen normalen Eintrag, der action kompiliert und ausführt, wenn man auf den Eintrag entry klickt. Die Einträge können mit –- getrennt werden. Der Konstruktor if wird benutzt, wenn ein Eintrag nur erfolgen soll, wenn eine bestimmte Bedingung condition erfüllt ist, z.B. dass man im mathematischen Modus ist.
Wenn sie ein Menü mit Namen name definiert haben, können Sie dieses Menü indirekt mit dem link Konstruktor verwenden. Das hat für Untermenüs zwei Vorteile:
Die Haupt-TeXmacs-Menüs sind: texmacs-menu, texmacs-popup-menu, texmacs-main-icons, texmacs-context-icons und texmacs-extra-icons. Andere indirekte Standard-Menüs sind: file-menu, edit-menu, insert-menu, text-menu, paragraph-menu, document-menu, options-menu und help-menu.