Spec-Zone.ru › Elisp

Эмуляция форматирования строки режима

Вы можете использовать функцию format-mode-line для вычисления текста, который будет отображаться в строке режима или заголовка на основе определённой конструкции строки режима.

Функция: format-mode-line format &optional face window buffer

Эта функция форматирует строку текста в соответствии с format, как если бы она генерировала строку режима для window, но также возвращает текст в виде строки. Аргумент window по умолчанию устанавливается на выбранное окно. Если buffer не nil, вся информация используется из buffer; по умолчанию она берётся из буфера окна window.

Строковое значение обычно имеет свойства текста, соответствующие шрифтам, макросам и т.д., которые имела бы строка режима. Любой символ, для которого нет свойства face, заданного format, получает значение по умолчанию, определяемое face. Если face равно t, это означает mode-line, если window выбрано, в противном случае mode-line-inactive. Если face равно nil или опущено, это означает шрифт по умолчанию. Если face является целым числом, возвращаемое значение этой функции не будет иметь свойств текста.

Вы также можете указать другие допустимые шрифты как значение face. Если указан, этот шрифт предоставляет свойство face для символов, шрифт которых не задан format.

Обратите внимание, что использование mode-line, mode-line-inactive, или header-line в качестве face фактически повторно отобразит строку режима или строку заголовка соответственно, используя текущие определения соответствующего шрифта, помимо возврата отформатированной строки. (Другие шрифты не вызывают повторного отображения.)

Например, (format-mode-line header-line-format) возвращает текст, который отобразится в строке заголовка выбранного окна ("", если у него нет строки заголовка). (format-mode-line header-line-format 'header-line) возвращает тот же текст, при этом каждый символ несет шрифт, который у него будет в самой строке заголовка, а также перерисовывает строку заголовка.

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/Emulating-Mode-Line.html

Spec-Zone.ru

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