Creare menu dinamici personalizzati |
Si può definire (o modificare) un (una parte di un) menu con il nome name usando
(menu-bind name . prog)
e aggiungere nuove voci ad un (ad una parte di un) menu esistente con il nome name usando
(menu-extend name . prog)
Qui prog è un programma che rappresenta le voci del menu. In particolare, si possono guardare i file nella directory
$TEXMACS_PATH/progs/menu
per vedere come sono definiti i menu standard di TeXmacs.
Più precisamente, il programma prog in menu-set o menu-append è una lista di voci che possono avere una delle seguenti forme:
(=> "pulldown menu name" menu-definition)
(-> "pullright menu name" menu-definition)
("entry" action)
–-
(if condition menu-definition)
(link variable)
I costruttori => e -> sono utilizzati per creare dei menu che si aprono verso il basso o verso destra e menu-definition deve contenere un programma che crea il submenu. Il costruttore ("entry" action) crea una voce normale, dove action sarà compilata ed eseguita quando si clicca su entry. Gli elementi del menu possono essere separati usando –-. Il costruttore if è usato per inserire elementi del menu solamente se una certa condition è soddisfatta (per esempio, se ci si trova in modalità matematica).
Infine, se si dichiara un menu name, allora si può utilizzare questo menu indirettamente usando il costruttore link. Questo modo indiretto di dichiarare dei sottomenu ha due vantaggi
I menu principali di TeXmacs sono texmacs-menu, texmacs-popup-menu, texmacs-main-icons, texmacs-context-icons e texmacs-extra-icons. Altri menu standard indiretti sono file-menu, edit-menu, insert-menu, text-menu, paragraph-menu, document-menu, options-menu and help-menu.