Emacs: ef-themes version 1.8.0

The ef-themes are a collection of light and dark themes for GNU Emacs that provide colourful (“pretty”) yet legible options for users who want something with a bit more flair than the modus-themes (also designed by me).

Below are the release notes.


Version 1.8.0 on 2024-08-27

The ef-themes package is in a stable state. The collection covers a wide spectrum of tastes while maintaining a high standard of legibility. I have made a few quality-of-life refinements and added two exciting new themes.

Enjoy the ef-eagle and ef-owl themes

These are the two new members of the collection. Both draw inspiration from the large predatory birds I encounter in my mountains. Both themes avoid the use of highly saturated colours.

  • ef-eagle is a light theme with varying shades of brown and complementary colours.

  • ef-owl is a dark theme with varying shades of silverblue and complementary colours.

The announcement I made on my blog about these two themes includes pictures of them: https://protesilaos.com/codelog/2024-08-19-ef-eagle-and-owl-themes/.

The “midnight” mode of pdf-tools is supported

The pdf-tools package provides the pdf-view-midnight-minor-mode, which applies dark colours to the document. Those colours will now be taken from the active theme, resulting in a more consistent reading experience.

Org checkboxes are monospaced if needed

When the user sets the option ef-themes-mixed-fonts to a non-nil value, the Org checkboxes will be rendered in a monospaced font (technically, they inherit the fixed-pitch face). This is done to preserve the alignment of items when variable-pitch-mode is enabled (or the user sets a proportionately spaced font as their default).

Remember that the point of “mixed fonts” is to use monospacing for those elements that are space-sensitive, like code blocks and tables.

Thanks to Gautier Ponsinet for making the Org checkboxes conform with this design. The change is small and thus does not require copyright assignment to the Free Software Foundation.

The elisp-shorthand-font-lock-face is now easier to spot

This is a way for Emacs packages to define so-called “shorthands” of short prefixes in symbols that are aliases for longer ones. For example, my-long-package-name-prefix may be expressed as mlp in the source code. These shorthands will now use a style that is not found anywhere else in Elisp code, making them stand out more.

A better “alt” foreground for ef-melissa-light and ef-melissa-dark

The themes define an alternative foreground colour which is used for ancillary elements such as Org property drawers. For ef-melissa-light and ef-melissa-dark this colour is easier to tell apart from the colour used for comments. It still retains the same pleasant quality of being easy-to-read without calling too much attention to itself.

The new bg-search-match semantic colour mapping

Each theme has a palette that defines named colours and semantic mappings. These are useful for my purposes while developing the themes, but also for users who have the option to override the palette (check the manual for further details).

The bg-search-match is used for “matches” that are persistent in search results, such as in Occur and Grep buffers. The colour in use is the same as it was before, except that the user can now modify it directly.