Незначительный режим Mode-Line Menu
Как сделать запись во всплывающей строке режима второстепенным меню режима при нажатии?
Для справки смотрите это обсуждение https://github.com/flycheck/flycheck/issues/365
2 ответа
Обратите внимание, что вы можете предоставить любую действительную конструкцию строки режима как STRING
/ более светлое значение для данного режима VARIABLE
в minor-mode-alist
,
Таким образом, хотя это значение обычно является просто названием режима (или его соответствующей аббревиатуры), вы можете сделать более сложные вещи, такие как установка свойств текста - которые могут включать local-map
свойство для определения раскладки клавиатуры для щелчков мыши (см. Chig (elisp) Properties in Mode
RET).
Вы можете посмотреть на Mx find-variable
RET mode-line-modes
RET для примера (nb IIRC эта переменная только в Emacs 24, где сложность mode-line-format
переменная была разбита на независимые под-переменные, чтобы облегчить понимание / изменение общей структуры).
Смотри Chяг (elisp) Mode Line Format
RET для полной документации.
Похоже, что меню отображается при нажатии mode-line
Запись для режима - это то же самое меню, которое отображается, когда вы нажимаете на запись режима в строке меню, при условии, что режим определяет запись меню верхнего уровня. Простейшим способом было бы определить меню верхнего уровня следующим образом
(easy-menu-define flycheck-menu flycheck-mode-map "Flycheck menu"
'("Flycheck"
["Check current buffer" flycheck-buffer t]
["Clear errors in buffer" flycheck-clear t]
["Compile current buffer" flycheck-compile t]
"---"
["Go to next error" flycheck-next-error t]
["Go to previous error" flycheck-previous-error t]
["Show all errors" flycheck-list-errors t]
["Google messages at point" flycheck-google-messages t]
"---"
["Select syntax checker" flycheck-select-checker t]
"---"
["Describe syntax checker" flycheck-describe-checker t]
["Read the Flycheck manual" flycheck-info t]))
Это может не быть решением, если вы не хотите вводить другой элемент строки меню. Смотря на функцию minor-mode-menu-from-indicator
в mouse.el
кажется, что поиск комбинаций клавиш начинается с [menu-bar]
для получения меню мод-линии, которое также может быть вам интересно.