Встроенные нативные виджеты
Emacs может отображать нативные виджеты, например виджеты GTK+ WebKit, в буферах Emacs, если он был собран с необходимыми библиотеками поддержки и запущен в графическом терминале. Чтобы проверить, поддерживает ли Emacs отображение встроенных виджетов, убедитесь, что доступна функция xwidget-internal (см. Возможности).
Чтобы отобразить встроенный виджет в буфере, сначала необходимо создать объект xwidget, а затем использовать этот объект в качестве спецификатора отображения в свойстве текста или наложения display (см. Свойство display).
Встроенные виджеты могут отправлять события, уведомляющие код Lisp об изменениях, происходящих внутри них (см. События xwidget).
- Функция: make-xwidget type title width height arguments &optional buffer related
-
Эта функция создает и возвращает объект xwidget. Если аргумент buffer опущен или равен
nil, по умолчанию используется текущий буфер. Если buffer задает несуществующий буфер, он будет создан. Аргумент type указывает тип компонента xwidget; он может принимать одно из следующих значений:webkitКомпонент WebKit.
Аргументы width и height задают размер виджета в пикселях, а строка title — его заголовок. Аргумент related используется внутри виджета WebKit и указывает другой виджет WebKit, с которым вновь созданный виджет должен совместно использовать настройки и подпроцессы.
Возвращенный объект xwidget будет уничтожен вместе со своим буфером (см. Уничтожение буферов). Его также можно уничтожить с помощью
kill-xwidget. После уничтожения объект xwidget может продолжать существовать как объект Lisp и выступать в качестве свойстваdisplay, пока на него остаются ссылки, однако большинство действий, доступных для действующих объектов xwidget, больше выполнять нельзя.
- Функция: xwidgetp object
Эта функция возвращает
t, если object является объектом xwidget, иnilв противном случае.
- Функция: xwidget-live-p object
Эта функция возвращает
t, если object является объектом xwidget, который еще не был уничтожен, иnilв противном случае.
- Функция: kill-xwidget xwidget
Эта функция уничтожает xwidget, удаляя его из буфера и освобождая используемые им ресурсы оконной системы.
- Функция: xwidget-plist xwidget
Эта функция возвращает список свойств xwidget.
- Функция: set-xwidget-plist xwidget plist
Эта функция заменяет список свойств xwidget новым списком свойств, заданным аргументом plist.
- Функция: xwidget-buffer xwidget
Эта функция возвращает буфер объекта xwidget. Если xwidget был уничтожен, она возвращает
nil.
- Функция: set-xwidget-buffer xwidget buffer
Эта функция устанавливает для xwidget буфер buffer.
- Функция: get-buffer-xwidgets buffer
Эта функция возвращает список объектов xwidget, связанных с буфером buffer. В качестве аргумента можно указать объект буфера или строку с именем существующего буфера. Если buffer не содержит объектов xwidget, возвращается
nil.
- Функция: xwidget-webkit-goto-uri xwidget uri
Эта функция открывает указанный uri в заданном xwidget. Аргумент uri — это строка, задающая имя файла или URL.
- Функция: xwidget-webkit-execute-script xwidget script
Эта функция запускает указанный сценарий JavaScript
scriptв виджете браузера, заданном аргументом xwidget.
- Функция: xwidget-webkit-title xwidget
Эта функция возвращает заголовок xwidget в виде строки.
- Функция: xwidget-resize xwidget width height
Эта функция изменяет размер указанного xwidget на width×height пикселей.
- Функция: xwidget-size-request xwidget
Эта функция возвращает желаемый размер xwidget в виде списка формы
(width height). Размеры указаны в пикселях.
- Функция: xwidget-info xwidget
Эта функция возвращает атрибуты xwidget в виде вектора формы
[type title width height]. Обычно атрибуты задаются функциейmake-xwidgetпри создании объекта xwidget.
- Функция: set-xwidget-query-on-exit-flag xwidget flag
Эта функция позволяет настроить запрос подтверждения перед выходом из Emacs или уничтожением буфера, с которым связан xwidget. Если flag не равен
nil, Emacs запросит подтверждение пользователя, в противном случае запрос не появится.
- Функция: xwidget-query-on-exit-flag xwidget
Эта функция возвращает текущее значение флага запроса подтверждения перед выходом для xwidget:
tилиnil.
- Функция: xwidget-perform-lispy-event xwidget event frame
-
Отправляет входное событие event объекту xwidget. Точное действие зависит от платформы. См. Входные события.
При желании можно передать кадр, в котором было сгенерировано событие, с помощью аргумента frame. В X11 клавиши-модификаторы в событиях клавиатуры не учитываются, если frame равен
nilи выбранный кадр не является кадром X-Windows.В GTK поддерживаются только события клавиатуры и функциональных клавиш. События мыши, перемещения и щелчка передаются объекту xwidget без прохождения через код Lisp, поэтому вызывать эту функцию для них не требуется.
- Функция: xwidget-webkit-search query xwidget &optional case-insensitive backwards wrap-around
-
Запускает инкрементальный поиск в виджете WebKit xwidget по строке query. Аргумент case-insensitive указывает, должен ли поиск выполняться без учета регистра, backwards определяет, выполняется ли поиск в обратном направлении, к началу документа, а wrap-around определяет, должен ли поиск продолжаться с начала документа после достижения его конца.
Если функция вызывается, когда поисковый запрос уже задан, указанный здесь запрос заменит существующий.
Чтобы остановить поиск, используйте
xwidget-webkit-finish-search.
- Функция: xwidget-webkit-next-result xwidget
-
Отображает следующий результат поиска в xwidget. Эта функция сигнализирует об ошибке, если поиск в xwidget еще не был запущен с помощью
xwidget-webkit-search.Если при вызове
xwidget-webkit-searchзначениеwrap-aroundбыло неnil, то при достижении конца документа поиск начнется заново с его начала.
- Функция: xwidget-webkit-previous-result xwidget
-
Отображает предыдущий результат поиска в xwidget. Эта функция сигнализирует об ошибке, если поиск в xwidget еще не был запущен с помощью
xwidget-webkit-search.Если при вызове
xwidget-webkit-searchзначениеwrap-aroundбыло неnil, то при достижении начала документа поиск начнется заново с его конца.
- Функция: xwidget-webkit-finish-search xwidget
Завершает поиск, запущенный с помощью
xwidget-webkit-searchв xwidget. Если в данный момент поиск не выполняется, функция сигнализирует об ошибке.
- Функция: xwidget-webkit-load-html xwidget text &optional base-uri
-
Загружает строку text в xwidget, который должен быть виджетом WebKit. При отображении текста виджет xwidget обрабатывает содержащуюся в text HTML-разметку.
Необязательный аргумент base-uri, который должен быть строкой, задает абсолютное расположение веб-ресурсов, на которые ссылается text; оно используется для разрешения относительных ссылок в text.
- Функция: xwidget-webkit-goto-history xwidget rel-pos
-
Заставляет виджет WebKit xwidget загрузить элемент истории навигации с номером rel-pos.
Если rel-pos равен нулю, вместо этого будет перезагружена текущая страница.
- Функция: xwidget-webkit-back-forward-list xwidget &optional limit
-
Возвращает историю навигации xwidget, не более limit элементов в каждом направлении. Если аргумент не указан, по умолчанию limit равен 50.
Возвращаемое значение — список формы
(back here forward), где here — текущий элемент навигации, back — список элементов, записанных WebKit до текущего элемента навигации, а forward — список элементов, записанных после текущего элемента навигации. Значения back, here и forward могут быть равныnil.Если here равен
nil, это означает, что элементы еще не записывались; если back или forward равенnil, это означает, что до или после текущего элемента соответственно нет записанной истории.Элементы навигации сами являются списками формы
(idx title uri). В этих списках idx — индекс, который можно передать функцииxwidget-webkit-goto-history, title — понятный пользователю заголовок элемента, а uri — URI элемента. Обычно пользователю незачем вручную загружать uri, чтобы перейти к определенному элементу истории. Вместо этого idx следует передать в качестве индекса функцииxwidget-webkit-goto-history.
- Функция: xwidget-webkit-estimated-load-progress xwidget
-
Возвращает оценку объема данных, которые еще нужно передать, прежде чем страница, отображаемая виджетом WebKit xwidget, будет полностью загружена.
Возвращаемое значение — число с плавающей точкой в диапазоне от 0.0 до 1.0.
- Функция: xwidget-webkit-set-cookie-storage-file xwidget file
-
Устанавливает для виджета WebKit xwidget хранение файлов cookie в файле file.
file должен быть абсолютным именем файла. Новая настройка также повлияет на все объекты xwidget, созданные с xwidget в качестве аргумента
relatedфункцииmake-xwidget, а также на связанные с ними виджеты.Если эта функция не будет вызвана хотя бы один раз для xwidget или связанного с ним виджета, xwidget вообще не будет сохранять файлы cookie на диск.
- Функция: xwidget-webkit-stop-loading xwidget
Прерывает передачу данных, которая еще продолжается в виджете WebKit xwidget в рамках загрузки страницы. Если страница не загружается, функция ничего не делает.
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/Xwidgets.html