39.18 Embedded Native Widgets
Emacs is able to display native widgets, such as GTK+ WebKit widgets, in Emacs buffers when it was built with the necessary support libraries and is running on a graphical terminal. To test whether Emacs supports display of embedded widgets, check that the xwidget-internal
feature is available (see Named Features).
To display an embedded widget in a buffer, you must first create an xwidget object, and then use that object as the display specifier in a display
text or overlay property (see Display Property).
function
make-xwidget type title width height arguments \&optional bufferβ
This creates and returns an xwidget object. If buffer
is omitted or nil
, it defaults to the current buffer. If buffer
names a buffer that doesnβt exist, it will be created. The type
identifies the type of the xwidget component, it can be one of the following:
webkit
β
The WebKit component.
The width
and height
arguments specify the widget size in pixels, and title
, a string, specifies its title.
function
xwidgetp objectβ
This function returns t
if object
is an xwidget, nil
otherwise.
function
xwidget-plist xwidgetβ
This function returns the property list of xwidget
.
function
set-xwidget-plist xwidget plistβ
This function replaces the property list of xwidget
with a new property list given by plist
.
function
xwidget-buffer xwidgetβ
This function returns the buffer of xwidget
.
function
get-buffer-xwidgets bufferβ
This function returns a list of xwidget objects associated with the buffer
, which can be specified as a buffer object or a name of an existing buffer, a string. The value is nil
if buffer
contains no xwidgets.
function
xwidget-webkit-goto-uri xwidget uriβ
This function browses the specified uri
in the given xwidget
. The uri
is a string that specifies the name of a file or a URL.
function
xwidget-webkit-execute-script xwidget scriptβ
This function causes the browser widget specified by xwidget
to execute the specified JavaScript script
.
function
xwidget-webkit-execute-script-rv xwidget script \&optional defaultβ
This function executes the specified script
like xwidget-webkit-execute-script
does, but it also returns the scriptβs return value as a string. If script
doesnβt return a value, this function returns default
, or nil
if default
was omitted.
function
xwidget-webkit-get-title xwidgetβ
This function returns the title of xwidget
as a string.
function
xwidget-resize xwidget width heightβ
This function resizes the specified xwidget
to the size width
xheight
pixels.
function
xwidget-size-request xwidgetβ
This function returns the desired size of xwidget
as a list of the form (width height)
. The dimensions are in pixels.
function
xwidget-info xwidgetβ
This function returns the attributes of xwidget
as a vector of the form [type title width height]
. The attributes are usually determined by make-xwidget
when the xwidget is created.
function
set-xwidget-query-on-exit-flag xwidget flagβ
This function allows you to arrange that Emacs will ask the user for confirmation before exiting or before killing a buffer that has xwidget
associated with it. If flag
is non-nil
, Emacs will query the user, otherwise it will not.
function
xwidget-query-on-exit-flag xwidgetβ
This function returns the current setting of xwidget
s query-on-exit flag, either t
or nil
.