Modus themes 2.2.0 for GNU Emacs
I will now prepare the patch for emacs.git which will then trickle down
to GNU ELPA (the
modus-themes is a
Modus themes version 2.2.0
By Protesilaos Stavrou email@example.com on 2022-02-23
The present entry records the changes made to the project since the publication of version 2.1.0 on 2022-02-17. This spans about 10 commits (though one of them is massive). Normally the release cycle occurs over periods of 4-5 weeks. This is a necessary exception.
To access the URL of the manual visit this web page: https://protesilaos.com/emacs/modus-themes. Or read it in the Emacs Info reader by evaluating this form:
(info "(modus-themes) Top")
modus-vivendi themes are built into Emacs-28
(next stable release) or later, and are available on GNU ELPA as well as
other archives. Emacs-28 ships version 1.6.0, while the current
master branch (i.e. Emacs-29) and, by extension, GNU ELPA include the
latest tagged release.
Initialisation of user options
Removed a superfluous default value that hampered the initialisation of
defcustom forms in the
M-x customize interface. Things would still
work, but the interface was not looking right while editing the relevant
variables. Thanks to Gustavo Barros for reporting the bug in issue 267:
Implemented thoroughgoing reforms across all completion User Interfaces (UIs) in order to make them more flexible/powerful and harmonise their looks.
modus-themes-completions now accepts an alist instead of a symbol.
Each cons cell is in the form of
(key . list-of-properties). The doc
string describes all the details.
In terms of out-of-the-box appearences, all completion UIs have a subtle aesthetic. This was always the case for the likes of Vertico, Icomplete (Fido), and related, though it constitutes a marked departure from what Ivy and Helm used to look like. Users of the latter two can still get the more colourful or intense style with something like this:
(setq modus-themes-completions '((matches . (background intense))
(selection . (accented intense))
(popup . (accented intense))))
(setq modus-themes-completions '((t background intense accented)))
The documentation explains all those associations in-depth. There also are other styles on offer (and combinations thereof).
Furthermore, the new
modus-themes-completions encompasses more UIs
than its predecessor, including Company and Corfu.
In the interest of theme-wide consistency, all applicable faces have been reviewed.
Finally, note that the previous tagged release also made changes on this
front, but it did not disrupt the status quo that was in place from
before the release of version 1.0.0 of the themes (more than a year
ago). In other words, it tried to make unnecessary compromises within
the confines of an outdated design that did not fit in with the rest of
the code base. The new
modus-themes-completions might require manual
intervention from users who want to customise things to their liking,
though I feel this change is to our long-term benefit.
Thanks to Daniel Mendler and Rudolf Adamkovič for their feedback in issue 278: https://gitlab.com/protesilaos/modus-themes/-/issues/278. And thanks to Kenta Usami for recommending the use of a warning in issue 286: https://gitlab.com/protesilaos/modus-themes/-/issues/286.
Removed the pseudo-button effect from the
org-checkboxface. It was not up-to-date with the current style of the rest of the themes, including the Org constructs for source block delimiters, the TODO keywords, the priority cookies (e.g.
[#A]), and others.
Introduced a section in the manual which provides an alternative to the standard
load-themeunder the hood. These technicalities are all explained in the manual.
Provided an alternative greyscale palette subset for
modus-operandiin the manual’s section about overriding colours.
Added support for the built-in
Fixed typo in the
modus-themes-box-buttonsvariable. Thanks to Illia Ostapyshyn for the patch in merge request 58: https://gitlab.com/protesilaos/modus-themes/-/merge_requests/58.