Next: , Previous: , Up: The Emacs Widget Library   [Contents][Index]

7 Widgets and the Buffer

This chapter describes commands that are specific to buffers that contain widgets.

Variable: widget-keymap

Keymap containing useful bindings for buffers containing widgets.

Binds TAB to widget-forward and both S-TAB and M-TAB to widget-backward. It also binds RET to widget-button-press and both down-mouse-1 and down-mouse-2 to widget-button-click.

There’s also a keymap for events that the Widget library doesn’t need to handle.

Variable: widget-global-map

Keymap used by widget-button-press and widget-button-click when not on a button. By default this is global-map.

In addition to these two keymaps, each widget might define a keymap of its own, active when events happen at that widget.

The following navigation commands are available:

TAB
Command: widget-forward &optional count

Move point count buttons or editing fields forward.

M-TAB
S-TAB
Command: widget-backward &optional count

Move point count buttons or editing fields backward.

By default, tabbing can put point on an inactive widget. To skip over inactive widgets when tabbing, set the user option widget-skip-inactive to a non-nil value. See Customization.

When editing an editable-field widget, the following commands are available:

C-e
Command: widget-end-of-line

Move point to the end of field or end of line, whichever is first.

C-k
Command: widget-kill-line

Kill to end of field or end of line, whichever is first.

M-TAB
C-M-i
Command: widget-complete

Complete the content of the editable field at point.

C-m
RET
Command: widget-field-activate

Invoke the editable field at point.

The following two commands can execute the action associated with a button widget (e.g., a radio button or checkbox):

RET
C-m
Command: widget-button-press pos &optional event

Invoke the button at pos, defaulting to point.

Invocation means to run the function stored in the :action property.

If point is not located on a button, invoke the binding in widget-global-map (by default the global map).

mouse-2
Command: widget-button-click event

Invoke the button at the location of the mouse pointer.

If the mouse pointer is located in an editable text field, invoke the binding in widget-global-map (by default the global map).

In case the mouse-click is on a widget, calls the function stored in the :mouse-down-action property.

Next: Widget Gallery, Previous: Working with Widgets, Up: The Emacs Widget Library   [Contents][Index]