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-categorySymbol carrying allout body-text overlay properties.
allout-container-item-widgetA widget for the current outline’s overarching container as an item.
allout-cue-span-categorySymbol carrying common properties of the space following the outline icon.
allout-cue-span-keymapKeymap used in the item cue area - the space between the icon and headline.
allout-escaped-prefix-regexpRegular expression for body text that would look like an item prefix if
allout-escapes-categorySymbol for category of text property used to hide escapes of prefix-like
allout-guides-categorySymbol carrying allout icon-guides overlay properties.
allout-guides-span-categorySymbol carrying allout icon and guide lines overlay properties.
allout-icon-span-categorySymbol carrying allout icon and guide lines overlay properties.
allout-inhibit-body-modification-hookOverride de-escaping of text-prefixes in item bodies during specific changes.
allout-item-body-keymapGeneral key bindings for the text content of outline items.
allout-item-icon-keymapGeneral tree-node key bindings.
allout-span-to-categoryAssociation list mapping span identifier to category identifier.
allout-structure-unruly-deletion-messageInformative message presented on improper editing of outline structure.
allout-trailing-categorySymbol carrying common properties of an overlay’s trailing newline.
allout-undo-exposure-in-progressMaintained true during ‘allout-widgets-exposure-undo-processor’.
allout-unresolved-body-mod-workrosterList of body-overlays that did before-change business but not after-change.
allout-widgets-adjust-message-length-thresholdDisplay "Adjusting widgets" message above this number of pending changes.
allout-widgets-adjust-message-size-thresholdDisplay "Adjusting widgets" message above this size of pending changes.
allout-widgets-auto-activationActivate to enable allout icon graphics wherever allout mode is active.
allout-widgets-changes-recordRecord outline changes for processing by post-command hook.
allout-widgets-hook-error-post-timeAmount of time to sit showing hook error messages.
allout-widgets-icon-typesFile extensions for the icon graphic format types, in order of preference.
allout-widgets-icons-cacheCache allout icon images, as an association list.
allout-widgets-icons-dark-subdirDirectory on ‘image-load-path’ holding allout icons for dark backgrounds.
allout-widgets-icons-light-subdirDirectory on ‘image-load-path’ holding allout icons for light backgrounds.
allout-widgets-item-image-properties-emacsDefault properties item widget images in mainline Emacs.
allout-widgets-item-image-properties-xemacsDefault properties item widget images in XEmacs.
allout-widgets-last-decoration-timingTiming details for the last cooperative decoration action.
allout-widgets-last-hook-errorString holding last error string, for debugging purposes.
allout-widgets-maintain-tallyIf non-nil, maintain a collection of widgets, ‘allout-widgets-tally’.
allout-widgets-modeNon-nil if Allout-Widgets mode is enabled.
allout-widgets-mode-hookHook run after entering or leaving ‘allout-widgets-mode’.
allout-widgets-mode-inhibitInhibit ‘allout-widgets-mode’ from activating widgets.
allout-widgets-reenable-before-change-handlerTell ‘allout-widgets-post-command-business’ to reequip the handler.
allout-widgets-tallyHash-table of existing allout widgets, for debugging.
allout-widgets-theme-dark-backgroundIdentify the outline’s icon theme to use with a dark background.
allout-widgets-theme-light-backgroundIdentify the outline’s icon theme to use with a light background.
allout-widgets-time-decoration-activityRetain timing info of the last cooperative redecoration.
allout-widgets-track-decorationIf non-nil, show cursor position of each item decoration.
allout-widgets-undo-exposure-recordRecord outline undo traces for processing by post-command hook.
allout-widgets-unset-inhibit-read-onlyTell ‘allout-widgets-post-command-business’ to unset ‘inhibit-read-only’.
allout-widgets-versionVersion of currently loaded allout-widgets extension.

Defined functions (63)

allout-body-modification-handler(BEG END)
allout-chart-exposure-contour-by-icon(&optional FROM-DEPTH)
allout-current-decorated-p()
allout-decorate-item-and-context(ITEM-WIDGET &optional REDECORATE BLANK-CONTAINER PARENT)
allout-decorate-item-body(ITEM-WIDGET &optional FORCE)
allout-decorate-item-cue(ITEM-WIDGET)
allout-decorate-item-guides(ITEM-WIDGET &optional PARENT-WIDGET HAS-SUCCESSOR)
allout-decorate-item-icon(ITEM-WIDGET)
allout-decorate-item-span(ITEM-WIDGET)
allout-elapsed-time-seconds(END START)
allout-fetch-icon-image(NAME)
allout-find-image(SPECS &optional CACHE)
allout-frame-property(FRAME PARAMETER)
allout-get-item-widget(&optional CONTAINER)
allout-get-or-create-item-widget(&optional REDECORATE BLANK-CONTAINER)
allout-get-or-create-parent-widget(&optional REDECORATE)
allout-graphics-modification-handler(BEG END)
allout-item-actual-position(ITEM-WIDGET FIELD)
allout-item-element-span-is(ITEM-WIDGET ELEMENT &optional START END FORCE)
allout-item-icon-key-handler()
allout-item-location(ITEM-WIDGET)
allout-item-span(ITEM-WIDGET &optional START END)
allout-new-item-widget()
allout-parse-item-at-point(ITEM-WIDGET &optional AT-BEGINNING BLANK-CONTAINER)
allout-range-overlaps(FROM TO RANGES)
allout-redecorate-item(ITEM-WIDGET)
allout-redecorate-visible-subtree(&optional PARENT-WIDGET DEPTH CHART)
allout-set-boundary-marker(BOUNDARY POSITION &optional CURRENT-MARKER)
allout-setup-text-properties()
allout-widgetize-buffer(&optional DOING)
allout-widgets-additions-processor(CHANGES)
allout-widgets-additions-recorder(FROM TO)
allout-widgets-adjusting-message(MESSAGE)
allout-widgets-after-change-handler(BEG END PRELENGTH)
allout-widgets-after-copy-or-kill-function()
allout-widgets-after-undo-function()
allout-widgets-before-change-handler(BEG END)
allout-widgets-changes-dispatcher()
allout-widgets-copy-list(LIST)
allout-widgets-count-buttons-in-region(START END)
allout-widgets-deletions-processor(CHANGES)
allout-widgets-deletions-recorder(DEPTH FROM)
allout-widgets-exposure-change-processor(CHANGES)
allout-widgets-exposure-change-recorder(FROM TO FLAG)
allout-widgets-exposure-undo-processor()
allout-widgets-exposure-undo-recorder(WIDGET)
allout-widgets-hook-error-handler(MODE ARGS)
allout-widgets-mode(&optional ARG)
allout-widgets-mode-disable()
allout-widgets-mode-enable()
allout-widgets-mode-off()
allout-widgets-mode-on()
allout-widgets-post-command-business(&optional RECURSING)
allout-widgets-pre-command-business(&optional RECURSING)
allout-widgets-prepopulate-buffer()
allout-widgets-setup(VARNAME VALUE)
allout-widgets-shifts-processor(CHANGES)
allout-widgets-shifts-recorder(SHIFTED-AMOUNT AT)
allout-widgets-tally-string()
allout-widgets-undecorate-item(ITEM-WIDGET &optional NO-EXPOSE)
allout-widgets-undecorate-region(START END)
allout-widgets-undecorate-text(TEXT)
allout-widgets-version(&optional HERE)

Defined faces (0)