GNU ELPA - ef-themes


Colorful and legible themes
ef-themes-0.10.0.tar, 2022-Dec-02, 520 KiB
Ef-Themes Development <~protesilaos/>
Browse ELPA's repository
CGit or Gitweb

To install this package, run in Emacs:

M-x package-install RET ef-themes RET

Full description

Ef (εὖ) themes for GNU Emacs


The ef-themes are a collection of light and dark themes for GNU Emacs whose goal is to provide colorful ("pretty") yet legible options for users who want something with a bit more flair than the modus-themes (also designed by me). Watch the presentation, which demonstrates each of the eight themes in the collection:

Old versions

ef-themes-0.9.0.tar.lz2022-Oct-2875.0 KiB
ef-themes-0.8.0.tar.lz2022-Oct-1970.8 KiB
ef-themes-0.7.0.tar.lz2022-Oct-0868.6 KiB
ef-themes-0.6.0.tar.lz2022-Sep-2664.0 KiB
ef-themes-0.5.0.tar.lz2022-Sep-1154.1 KiB
ef-themes-0.4.2.tar.lz2022-Aug-3149.0 KiB
ef-themes-0.4.0.tar.lz2022-Aug-2948.6 KiB
ef-themes-0.3.4.tar.lz2022-Aug-2342.2 KiB
ef-themes-0.3.3.tar.lz2022-Aug-2137.5 KiB
ef-themes-0.3.0.tar.lz2022-Aug-2037.6 KiB
ef-themes-0.2.1.tar.lz2022-Aug-1930.2 KiB
ef-themes-0.2.0.tar.lz2022-Aug-1829.5 KiB
ef-themes-0.1.0.tar.lz2022-Aug-1727.2 KiB
ef-themes-0.0.4.tar.lz2022-Aug-1727.2 KiB
ef-themes-0.0.1.tar.lz2022-Aug-1626.4 KiB


This document contains the release notes for each tagged commit on the project's main git repository:

The newest release is at the top. For further details, please consult the manual:

Version 0.10.0 on 2022-12-02

New user option for highlighted region

The ef-themes-region accepts a list of symbols that affect how the region looks. The manual or the variable's doc string describe the technicalities. Here is a sample:

(setq ef-themes-region '(intense no-extend))

Remember that changes to theme user options must be done before loading a theme. For any subsequent customisation, a theme re-load is required.

The ef-themes-headings now affects the Org agenda

Before, the Org agenda headings would inherit from the generic heading levels 0 and 1. This had undesired effects, as users often need a taller typeface for prose (e.g. regular Org files), though not necessarily for viewing their already well-structured Org agenda.

The ef-themes-headings can now control the Org agenda date and structure headings directly. A complete example:

(setq ef-themes-headings ; read the manual's entry or the doc string
      '((0 . (variable-pitch light 1.9))
	(1 . (variable-pitch light 1.8))
	(2 . (variable-pitch light 1.7))
	(3 . (variable-pitch semilight 1.6))
	(4 . (variable-pitch semilight 1.5))
	(5 . (variable-pitch regular 1.4))
	(6 . (variable-pitch regular 1.3))
	(7 . (variable-pitch 1.2))    ; absence of weight means `bold'
	(agenda-date . (semilight 1.5))
	(agenda-structure . (variable-pitch light 1.9))
	(t . (variable-pitch 1.1))))

In Org agenda buffers, the "structure" is the type of heading that describes the current block of content. In the generic agenda, it is the first line, which reads something like Week-agenda (W48):.

Note that Org re-uses heading levels past 8. This is not the theme's work, so heading 9 looks the same as 1. Check the user options org-level-faces, org-n-level-faces for ways to change this.

Support for more packages

  • cider
  • clojure-mode
  • eglot
  • perspective. Thanks to Walheimat for the contribution. This was done in pull request 18 on the GitHub mirror: The change is below the ~15 line limit. It does not require copyright assignment to the Free Software Foundation.
  • tree-sitter

Lots of small tweaks to colour values

All themes have enjoyed attention to their details. The general idea is that some colours are fine-tuned to look better in their context. In most cases, the change is subtle and can only be noticed when comparing samples side-by-side. Some more noticeable effects:

  • All neutral backgrounds that are used for elements such as the tab-bar-mode, the header-line, the mode lines, and the like, are all amplified. They should now be easier to discern, especially on monitors with inaccurate reproduction of grey values.
  • The match face, which is used by Grep, Occur, and related, now uses a coloured background instead of a neutral grey. This makes it easier to stand out. The choice of colour is consistent with the backgrounds used by Isearch for the current and other matches: they do not clash (e.g. a user may perform a search inside an Occur buffer).
  • The M-x calendar weekdays and weekends are rendered in distinct

… …