Определение меню
Карта клавиш действует как меню, если у неё есть строка общего приглашения — строка, которая отображается как элемент карты клавиш. (См. Формат карт клавиш.) Эта строка должна описывать назначение команд меню. В некоторых случаях Emacs отображает строку общего приглашения в качестве заголовка меню — в зависимости от набора инструментов (если он используется) для отображения меню. Строка общего приглашения также отображается в меню клавиатуры.
Проще всего создать карту клавиш со строкой приглашения, указав её в качестве аргумента при вызове make-keymap, make-sparse-keymap (см. Создание карт клавиш) или define-prefix-command (см. Определение define-prefix-command). Если вы не хотите, чтобы карта клавиш работала как меню, не указывайте для неё строку приглашения.
- Функция: keymap-prompt keymap
Эта функция возвращает строку общего приглашения для keymap или
nil, если такой строки нет.
Элементы меню — это привязки в карте клавиш. Каждая привязка связывает тип события с определением, но типы событий не влияют на внешний вид меню. (Обычно в качестве типов событий для привязок элементов меню используются псевдособытия — символы, которые клавиатура не может генерировать.) Меню полностью формируется из привязок, соответствующих этим событиям в карте клавиш.
Порядок элементов в меню совпадает с порядком привязок в карте клавиш. Поскольку define-key помещает новые привязки в начало, если порядок важен, определяйте элементы меню, начиная с нижней части меню и двигаясь вверх. Добавляя элемент в существующее меню, можно указать его позицию в меню с помощью keymap-set-after (см. Изменение меню).
Copyright © 1990-1996, 1998-2026 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Defining-Menus.html