Emacs: logos version 1.0.0
logos package provides a simple approach to setting up a “focus
mode”. It uses the
page-delimiter or the outline together with some
commands to move between pages whether narrowing is in effect or not.
It also provides some optional aesthetic tweaks which come into effect
when the buffer-local
logos-focus-mode is enabled. The manual shows
how to extend the code to achieve the desired result.
Watch the demo of the original version of
(all my relevant videos since early 2022 use
- Package name (GNU ELPA):
- Official manual: https://protesilaos.com/emacs/logos
- Change log: https://protesilaos.com/emacs/logos-changelog
- Git repo on SourceHut: https://git.sr.ht/~protesilaos/logos
- Mailing list: https://lists.sr.ht/~protesilaos/logos
^LOnly Generates Ostensible Slides; Logos Optionally Goes through Outline Sections
Below are the release notes.
Revised the fallback condition of the user option
logos-outline-regexp-alist(it comes into effect when the
The previous value did not account for the buffer-local values of
page-delimiter, nor did it adapt to any changes in their respective values. Instead, it would capture whatever the value was at the time of the symbol’s declaration.
We remove the
tcondition altogether and instead handle the fallback value internally. Logos will return the current buffer-local value of
page-delimiter, in this order of priority.
Put simply, this has the same intent as before, but works properly.
Introduced a check to guard against a void
outline-regexp. The previous value would cause a problem if the
outline-regexphad not been set yet. In a typical Emacs session, even on ‘emacs -Q’, the
outline-regexpis set in the scratch buffer, so we have a valid value at the outset. However, when the user changes the
initial-buffer-choiceor opens Emacs directly for a given file, the
outline-regexpcan be void.
Thanks to Xiaoduan for informing me about this error and for testing my code on how to fix it. This was done via a private channel and is shared with permission.
Implemented the user option
logos-hide-cursor. It hides the cursor when
logos-focus-modeis enabled. Note that this user option is always buffer-local. Use
setq-defaultto set its default global value (same as with other user options that apply to
logos-focus-mode(read the manual)).
Thanks to Marcel Ventosa for suggesting the idea of hiding the cursor. This was done via a private channel and is shared with permission.
Clarified the documentation of
logos-focus-mode-extra-functions. It is intended for use by those who are prepared to write custom functions in the spirit of those already used in
logos.elto affect the buffer when
Added the missing autoload cookie to
logos-focus-mode. This means that it shows up in the completion candidates of
M-xeven if the
logoslibrary has not been called via