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 … …
