Version 1.0.1 of package Logos has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.
Logos describes itself as:
Simple focus mode and extras
More at https://elpa.gnu.org/packages/logos.html
Recent NEWS:
━━━━━━━━━━━━━━━━━━━━━
CHANGE LOG OF LOGOS
━━━━━━━━━━━━━━━━━━━━━
The newest release is at the top. For further details, please consult
the manual: <https://protesilaos.com/emacs/logos>.
Version 1.0.0 on 2022-10-19
═══════════════════════════
⁃ Revised the fallback condition of the user option
`logos-outline-regexp-alist' (it comes into effect when the
`logos-outlines-are-pages' is non-nil).
The previous value did not account for the buffer-local values of
`outline-regexp' or `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 `t' condition altogether and instead handle the
fallback value internally. Logos will return the current
buffer-local value of `outline-regexp' or `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-regexp' had not
been set yet. In a typical Emacs session, even on 'emacs -Q', the
`outline-regexp' is set in the scratch buffer, so we have a valid
value at the outset. However, when the user changes the
`initial-buffer-choice' or opens Emacs directly for a given file,
the `outline-regexp' can 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-mode' is enabled. Note that this user
option is always buffer-local. Use `setq-default' to 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.el' to
affect the buffer when `logos-focus-mode' is enabled.
⁃ Added the missing autoload cookie to `logos-focus-mode'. This means
that it shows up in the completion candidates of `M-x' even if the
`logos' library has not been called via `require'.
Version 0.5.0 on 2022-09-01
═══════════════════════════
⁃ Introduced the function `logos-update-fringe-in-buffers'. This is a
convenience function for those who (i) set the user option
`logos-hide-fringe' to a non-nil value and (ii) switch themes while
`logos-focus-mode' is enabled in one or more buffers. This
convenience function updates the `fringe' face to be consistent with
the current theme (we technically make the fringe invisible, instead
of outright disabling it, as that would not be desirable). It needs
to be assigned to a hook that gets called in the post-theme-load
phase. The `modus-themes' or the `ef-themes' (both by me) provide
such a hook. Otherwise the Logos manual explains how to implement
one for any theme. Read:
<https://protesilaos.com/emacs/logos#h:6a254fa0-5706-4032-8a8b-233ffb1f0e6b>.
⁃ Implemented the `logos-focus-mode-map'. This is a keymap that is
active when `logos-focus-mode' is enabled in the buffer. One can,
for example, use it to bind the arrow key to page motions, such as
`logos-forward-page-dwim'.
Remember that, by default, pages are delimited with the Control-L
character (`^L'), though Logos can treat different delimiters as
"page" separators (e.g. Org headings and a horizontal rule of five
hyphens). Consult the user options `logos-outlines-are-pages',
`logos-outline-regexp-alist', and check the manual for relevant
simple
… …