File: allout-widgets.el.html
This is an allout outline-mode add-on that highlights outline structure with graphical widgets.
To activate, customize allout-widgets-auto-activation. You can also
invoke allout-widgets-mode in a particular allout buffer. When
auto-enabled, you can inhibit widget operation in particular allout
buffers by setting the variable allout-widgets-mode-inhibit non-nil in
that file's buffer. Use Emacs *file local variables* to generally
inhibit for a file.
See the allout-widgets-mode(var)/allout-widgets-mode(fun) docstring for more details.
Info about allout and allout-widgets development are available at https://myriadicity.net/software-and-systems/craft/emacs-allout
The graphics include:
- icons for item bullets, varying to distinguish whether the item either
lacks any subitems, the subitems are currently collapsed within the
item, or the item is currently expanded.
- guide lines connecting item bullet-icons with those of their subitems.
- cue area between the bullet-icon and the start of the body headline,
for item numbering, encryption indicator, and distinctive bullets.
The bullet-icon and guide line graphics provide keybindings and mouse
bindings for easy outline navigation and exposure control, extending
outline hot-spot navigation (see allout-mode(var)/allout-mode(fun) docstring for details).
Developers note: Our use of Emacs widgets is unconventional. We decorate existing text rather than substituting for it, to piggy-back on existing allout operation. This employs the C-coded efficiencies of widget-apply, widget-get, and widget-put, along with the basic object-oriented organization of widget-create, to systematically couple overlays, graphics, and other features with allout-governed text.
Defined variables (43)
allout-body-span-category | Symbol carrying allout body-text overlay properties. |
allout-container-item-widget | A widget for the current outline’s overarching container as an item. |
allout-cue-span-category | Symbol carrying common properties of the space following the outline icon. |
allout-cue-span-keymap | Keymap used in the item cue area - the space between the icon and headline. |
allout-escaped-prefix-regexp | Regular expression for body text that would look like an item prefix if |
allout-escapes-category | Symbol for category of text property used to hide escapes of prefix-like |
allout-guides-category | Symbol carrying allout icon-guides overlay properties. |
allout-guides-span-category | Symbol carrying allout icon and guide lines overlay properties. |
allout-icon-span-category | Symbol carrying allout icon and guide lines overlay properties. |
allout-inhibit-body-modification-hook | Override de-escaping of text-prefixes in item bodies during specific changes. |
allout-item-body-keymap | General key bindings for the text content of outline items. |
allout-item-icon-keymap | General tree-node key bindings. |
allout-span-to-category | Association list mapping span identifier to category identifier. |
allout-structure-unruly-deletion-message | Informative message presented on improper editing of outline structure. |
allout-trailing-category | Symbol carrying common properties of an overlay’s trailing newline. |
allout-undo-exposure-in-progress | Maintained true during ‘allout-widgets-exposure-undo-processor’. |
allout-unresolved-body-mod-workroster | List of body-overlays that did before-change business but not after-change. |
allout-widgets-adjust-message-length-threshold | Display "Adjusting widgets" message above this number of pending changes. |
allout-widgets-adjust-message-size-threshold | Display "Adjusting widgets" message above this size of pending changes. |
allout-widgets-auto-activation | Activate to enable allout icon graphics wherever allout mode is active. |
allout-widgets-changes-record | Record outline changes for processing by post-command hook. |
allout-widgets-hook-error-post-time | Amount of time to sit showing hook error messages. |
allout-widgets-icon-types | File extensions for the icon graphic format types, in order of preference. |
allout-widgets-icons-cache | Cache allout icon images, as an association list. |
allout-widgets-icons-dark-subdir | Directory on ‘image-load-path’ holding allout icons for dark backgrounds. |
allout-widgets-icons-light-subdir | Directory on ‘image-load-path’ holding allout icons for light backgrounds. |
allout-widgets-item-image-properties-emacs | Default properties item widget images in mainline Emacs. |
allout-widgets-item-image-properties-xemacs | Default properties item widget images in XEmacs. |
allout-widgets-last-decoration-timing | Timing details for the last cooperative decoration action. |
allout-widgets-last-hook-error | String holding last error string, for debugging purposes. |
allout-widgets-maintain-tally | If non-nil, maintain a collection of widgets, ‘allout-widgets-tally’. |
allout-widgets-mode | Non-nil if Allout-Widgets mode is enabled. |
allout-widgets-mode-hook | Hook run after entering or leaving ‘allout-widgets-mode’. |
allout-widgets-mode-inhibit | Inhibit ‘allout-widgets-mode’ from activating widgets. |
allout-widgets-reenable-before-change-handler | Tell ‘allout-widgets-post-command-business’ to reequip the handler. |
allout-widgets-tally | Hash-table of existing allout widgets, for debugging. |
allout-widgets-theme-dark-background | Identify the outline’s icon theme to use with a dark background. |
allout-widgets-theme-light-background | Identify the outline’s icon theme to use with a light background. |
allout-widgets-time-decoration-activity | Retain timing info of the last cooperative redecoration. |
allout-widgets-track-decoration | If non-nil, show cursor position of each item decoration. |
allout-widgets-undo-exposure-record | Record outline undo traces for processing by post-command hook. |
allout-widgets-unset-inhibit-read-only | Tell ‘allout-widgets-post-command-business’ to unset ‘inhibit-read-only’. |
allout-widgets-version | Version of currently loaded allout-widgets extension. |