Всплывающие подсказки — это специальные фреймы (см. Фреймы), которые используются для отображения полезных подсказок (также известных как «подсказки») относительно текущего положения курсора мыши. Emacs использует всплывающие подсказки для отображения строк справки о активных частях текста (см. Свойства со специальным значением) и о различных элементах пользовательского интерфейса, таких как элементы меню (см. Расширенные элементы меню) и кнопки панели инструментов (см. Панели инструментов).
Режим всплывающих подсказок — это второстепенный режим, который включает отображение всплывающих подсказок. Отключение этого режима приводит к отображению всплывающих подсказок в области эхо. В фреймах текстового режима (также известных как «TTY») всплывающие подсказки всегда отображаются в области эхо.
Когда Emacs собран с использованием инструментария GTK+ или поддержки окон Haiku,
по умолчанию он отображает всплывающие подсказки с использованием функций инструментария, а
внешний вид всплывающих подсказок затем контролируется настройками инструментария.
Всплывающие подсказки, предоставляемые инструментарием, можно отключить, изменив
значение переменной use-system-tooltips на nil.
Остальная часть этого подраздела описывает, как контролировать неинструментарийные
всплывающие подсказки, которые представляются самим Emacs.
Всплывающие подсказки отображаются в специальных фреймах, называемых фреймами всплывающих подсказок, которые имеют свои собственные параметры фрейма (см. Параметры фрейма). В отличие от других фреймов, параметры по умолчанию для фреймов всплывающих подсказок хранятся в специальной переменной.
Этот настраиваемый вариант содержит параметры фрейма по умолчанию, используемые для
отображения всплывающих подсказок. Любые параметры шрифта и цвета игнорируются, и вместо них
используются соответствующие атрибуты лица tooltip.
Если включены параметры left или top, они используются как
абсолютные координаты относительно фрейма, в которых должна отображаться всплывающая подсказка.
(Положение всплывающей подсказки относительно мыши можно настроить с помощью
переменных, описанных в Всплывающие подсказки в Руководство GNU Emacs.)
Обратите внимание, что параметры left и top, если они присутствуют,
переопределяют значения смещений относительно мыши.
Лицо tooltip определяет внешний вид текста, отображаемого во
всплывающих подсказках. В целом, оно должно использовать шрифт с переменным интервалом
размера, который предпочтительно меньше шрифта фрейма по умолчанию.
Этот аномальный хук — это список функций, которые вызываются, когда Emacs
нуждается в отображении всплывающей подсказки. Каждая функция вызывается с одним аргументом
event, который является копией последнего события движения мыши. Если
функция в этом списке фактически отображает всплывающую подсказку, она должна вернуть
не-nil, и тогда остальные функции не будут вызваны. Значение по умолчанию
этой переменной — одна функция tooltip-help-tips.
Если вы пишете собственную функцию для включения в список
tooltip-functions, вам может потребоваться знать буфер, в котором произошло
событие, вызвавшее отображение всплывающей подсказки. Следующая
функция предоставляет эту информацию.
Эта функция возвращает буфер, в котором произошло событие event.
Вызовите ее с аргументом функции из
tooltip-functions, чтобы получить буфер, чей текст вызвал
всплывающую подсказку. Обратите внимание, что событие может произойти не над буфером
(например, над панелью инструментов), в этом случае эта функция вернет
nil.
Другие аспекты отображения всплывающих подсказок контролируются несколькими настраиваемыми настройками; см. Всплывающие подсказки в Руководство GNU Emacs.