org-auto-expand
This package automatically expands certain headings in an Org file depending on properties set, making it easy to always get the same initial view when finding a file.
Installation
MELPA
If you installed from MELPA, you’re already done!
Quelpa
Installing with Quelpa is easy:
- Install quelpa-use-package (which can be installed directly from MELPA).
- Add this form to your init file:
(use-package org-auto-expand
:quelpa (org-auto-expand :fetcher github :repo "alphapapa/org-auto-expand"))Manual
Put org-auto-expand.el in your load-path, and put this in your init file:
(require 'org-auto-expand)Usage
- Define auto-expansion settings in an Org file (see below).
- Run
org-auto-expandto set visibility accordingly. You may do this automatically in a file with a file- or dir-local variable. See examples.
- The global minor mode
org-auto-expand-modeautomatically applies expansion settings when visiting Org files. - To start with all entries folded, set the variable
org-startup-foldedas desired, or use the#+STARTUPkeyword. - To reset to startup visibility before expanding entries, call
org-auto-expandwith a prefix argument. This is especially useful when expanding on-demand rather than at file-visit time.
Auto-expansion Settings
Auto-expansion settings may be set in two ways: with Org properties on headings, and with the file- or dir-local variable org-auto-expand-nodes.
Properties
Set the auto-expand property on a node to a list of one or more of these values:
heading: Show just the heading.body: Show the heading and its body, but not its children.children: Show the heading’s children, but not its body.- A number
N: Show child headingsNlevels deep. - A symbol that
org-show-contextaccepts as an argument.
For example, in this Org file:
* Daily tasks
:PROPERTIES:
:auto-expand: body 1
:END:
Things to do every day.
** Check email
** Walk dog
* Weekly tasks
Things to do every week.
** Check tire pressure
** Attempt to walk cat
After running org-auto-expand, you would see:
* Daily tasks :PROPERTIES:... Things to do every day. ** Check email ** Walk dog * Weekly tasks...
Variable org-auto-expand-nodes
The variable org-auto-expand-nodes may be set as file-local or dir-local (e.g. using command add-file-local-variable). It should be an alist, the key of which should be an Org outline path (a list of heading strings corresponding to a node’s hierarchy), and the value of which should be one of the values accepted by the auto-expand property. The corresponding example, which also calls org-auto-expand automatically:
# Local Variables:
# org-auto-expand-nodes: ((("Daily tasks") body 1))
# eval: (org-auto-expand)
# End:
Changelog
0.1
Initial release.
Development
Bug reports, feature requests, suggestions — oh my!
License
GPLv3