Emacs: ef-themes version 1.2.0
The ef-themes
is a collection of light and dark themes for GNU Emacs
whose goal is to provide colourful (“pretty”) yet legible options for
users who want something with a bit more flair than the modus-themes
(also designed by me).
- Package name (GNU ELPA):
ef-themes
- Official manual: https://protesilaos.com/emacs/ef-themes
- Change log: https://protesilaos.com/emacs/ef-themes-changelog
- Sample pictures: https://protesilaos.com/emacs/ef-themes-pictures
- Git repo on SourceHut: https://git.sr.ht/~protesilaos/ef-themes
- Mirrors:
- Mailing list: https://lists.sr.ht/~protesilaos/ef-themes
- Backronym: Eclectic Fashion in Themes Hides Exaggerated Markings, Embellishments, and Sparkles.
Below are the release notes.
Enjoy the new “Elea” variants
The ef-elea-light
and ef-elea-dark
take inspiration from olives
and olive trees. Their background is noticeably more subdued than
that of other Ef themes, making Elea optimal for times where
environmental light is neither too high nor too low.
Blog post that announced the new themes and presented their screen shots: https://protesilaos.com/codelog/2023-06-18-ef-elea-dark-light/.
Those who like primarily green-tinted themes can also try ef-spring
(light) and ef-bio
(dark).
The ef-themes
collection now consists of 24 items, covering a broad
range of preferences and legibility needs. Each theme is tested
extensively for stylistic consistency, as well as overall
effectiveness across the full spectrum of interfaces encountered in
Emacs.
Support for the avy
package
The avy
package is now fully supported by the themes. This was not
a trivial task, due to Avy’s unique requirement for sufficiently high
contrast between adjacent coloured background in addition to the
goal of the themes for comfortably high contrast between each given
combination of foreground and background. To make the task even more
demanding, we have to account for colour deficiency, as in the case of
the tritanopia-optimised themes: ef-tritanopia-light
,
ef-tritanopia-dark
(tritanopia is blue-yellow colour deficiency).
Support for other Avy-like elements
The corfu
and vertico
packages provide Avy-like commands to select
a candidate in their respective completion interface. Those are now
fully supported, benefitting from the aforementioned work.
Explicit support for which-key
The popular which-key
package was already implicitly supported by
the themes. Its faces inherit from standard font-lock faces. I
decided to add explicit support in order to override its overall
style, as its default is too busy, although it technically works.
This hints at the unseen, yet non-trivial, effort themes require to
avoid exaggerations (in short: when everything is emphasised, nothing
stands out; when something indicates a familiar element of the
interface, it must have an equally familiar styling to minimise
friction/uncertainty).
Support for csv-mode
The csv-mode
defines the face of a separator character for the
tabular entries. Its colour should now be easier to spot.
Revised the Git summary line
The colour of the Git commit summary line, both for Magit and VC, is
now drawn from each theme’s semantic info
colour, whereas before it
was another accent colour. The reason for this change is to make the
summary line always contrast nicely with the overlong summary warning
(the warning is visible when the length of the summary exceeds the
specified limit (check each package’s configurations)).
Miscellaneous
-
Completion annotations are not shown for yet-to-be-loaded Ef themes. This avoids errors in
modus-themes-select
and related commands that use minibuffer completion. Thanks to Christopher League for the patch. The change is small and falls within the limits of what is allowed without assigning copyright to the Free Software Foundation. This case was discussed in issue 22 on the GitHub mirror: https://github.com/protesilaos/ef-themes/issues/22. -
The documentation of
ef-themes-headings
uses simpler list constructs. There is no user-facing change. Thanks to Eshel Yaron for the patch, which is within the boundaries of what is possible with copyright assignment to the Free Software Foundation: https://lists.sr.ht/~protesilaos/ef-themes/patches/42030. -
The manual of the themes, as well as the
contrast-ratios.org
file that is part of the project’s Git repository, are reviewed to reflect the current state of theef-themes
.