🏆 I provide private lessons on Emacs, Linux, and Life in general: https://protesilaos.com/coach/. Lessons continue throughout the year.

Released Modus themes 0.6.0

I just published version 0.6.0 of the Modus themes. These are my highly-accessible themes for GNU Emacs. They conform with the WCAG AAA standard for colour contrast accessibility (a minimum contrast ratio of 7:1 between the foreground and background values). You can find the packages on MELPA (and soon on ELPA as well):

  • modus-operandi-theme (light)
  • modus-vivendi-theme (dark)

This release contains lots of refinements and additions.

Let me start with an administrative point: I have completed the process of assigning my copy rights to the Free Software Foundation. This covers every contribution I make to GNU Emacs. In practice, it means that the Modus themes can now be included in the official ELPA archive and theoretically be shipped with Emacs itself. The ELPA inclusion is ongoing. Once it is completed, I will update the docs accordingly.

The administrative change has no effect on the way this project is handled. I still am the developer/maintainer and will continue to improve things further. If you still have questions, feel free to contact me: https://protesilaos.com/contact

Moving on to the changes since version 0.5.0 (2020-01-26).

Added support for:

  • alert
  • apropos (built-in)
  • dap-mode
  • deft
  • dim-autoload
  • dired-git
  • enhanced-ruby-mode
  • gbd-mi.el (built-in library)
  • helm-ls-git
  • helm-xref
  • imenu-list
  • jira (org-jira)
  • js2-mode
  • jupyter
  • org-pomodoro
  • origami
  • rmail (built-in)
  • vc-print-log (built-in)
  • window-divider-mode (built-in)
  • xref (built-in)

Refinements to existing faces:

  • A new subset of “nuanced” accent colours has been introduced. These are named {red,green,yellow,blue,magenta,cyan}-nuanced. Their purpose is to be used in contexts where lots of structured information is presented to the user, but each component does not need to draw too much attention to itself (e.g. Org’s metadata). As always, their contrast ratio is designed to always be >= 7:1 relative to the backgrounds they may be combined with.

  • Greatly improve the support for Gnus, even though most changes are subtle and are made in the interest of consistency. The group levels now make use of the “nuanced” palette where appropriate (to denote levels of lower importance).

  • Several refinements for Org, including the use of “nuanced” colours for various metadata tags. The agenda headers will now be scaled appropriately and use a variable-pitch font if the user sets the relevant customisation values of the theme they are using (check the documentation in each theme file or the repo’s README).

  • Lots of refinements for Helm. Some of these were introduced to align the overall aesthetic with equivalent metaphors in Ivy. Others are meant to improve the styles of the headers and make various constructs consistent with their variants in the Helm ecosystem but also with their non-Helm counterparts (such as xref file names with and without Helm, but also with Helm’s grep).

  • Improve the colours of buttons in contexts such as M-x customize. This is especially noticeable in modus-vivendi-theme (the dark theme) where the buttons are a darker shade of grey rather than the original lighter one.

  • Keycast now uses styles that are more consistent with the overall aesthetic of the Modus themes. This means that the mode line indicators are blue-ish (blue is generally used for highlights in the mode line, but also when hovering over an item with the mouse pointer). The pseudo button effect (colours + 3d) has been removed in favour of a flat look, in line with the flatness of the mode line itself. Whereas before the keycast faces where designed to be consistent with the package’s defaults.

There were also a few minor refinements for:

  • calendar and diary
  • icomplete
  • mm-uu-extract
  • nobreak-hyphen and nobreak-space
  • org-habit
  • tooltip-mode

Finally, the Commentary section of each theme has been greatly expanded. It now includes the user-facing customisation options and the complete list of supported packages.


For more information, check the git repository of the modus-themes.