Spec-Zone.ru › Elisp

Простые пункты меню

Простейший (и исходный) способ определения пункта меню — привязать к нему какой-либо тип события (тип события значения не имеет) так:

(item-string . real-binding)

Значение CAR, item-string, — это строка, отображаемая в меню. Она должна быть короткой — предпочтительно от одного до трёх слов. Она должна описывать действие соответствующей команды. Обратите внимание, что не все графические наборы инструментов могут отображать текст, не являющийся ASCII, в меню (это будет работать для меню клавиатуры и в значительной степени будет работать с набором инструментов GTK+).

Вы также можете указать вторую строку, называемую строкой справки, следующим образом:

(item-string help . real-binding)

help определяет строку отображения справки, которая отображается, когда курсор мыши находится над этим пунктом, точно так же, как help-echo свойства текста (см. Отображение справки).

Что касается define-key, item-string и help-string являются частью привязки события. Однако, lookup-key возвращает только real-binding, и только real-binding используется для выполнения ключа.

Если real-binding — nil, тогда item-string отображается в меню, но не может быть выбран.

Если real-binding является символом и имеет свойство, отличное от nil menu-enable, это свойство является выражением, которое управляет тем, включен ли пункт меню. Каждый раз, когда используется раскладка для отображения меню, Emacs оценивает выражение, и пункт меню включается только в том случае, если значение выражения не nil. Когда пункт меню отключен, он отображается размыто и не может быть выбран.

Панель меню не пересчитывает, какие пункты включены каждый раз, когда вы просматриваете меню. Это связано с тем, что набору инструментов X требуется весь дерево меню заранее. Чтобы принудительно пересчитать панель меню, вызовите force-mode-line-update (см. Формат строки режима).

Copyright © 1990-1996, 1998-2022 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Simple-Menu-Items.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API