Version 5.2.0 of package Modus-Themes has just been released in GNU ELPA.
You can now find it in M-x list-packages RET.

Modus-Themes describes itself as:

  ===============================================
  Elegant, highly legible and customizable themes
  ===============================================

More at https://elpa.gnu.org/packages/modus-themes.html

## Summary:

  # Modus themes for GNU Emacs

  IMAGES HERE: <https://protesilaos.com/emacs/modus-themes-pictures>.

  Highly accessible themes, conforming with the highest standard for
  colour contrast between background and foreground values (WCAG AAA).
  They also are optimised for users with red-green colour deficiency.

  The themes are very customisable and provide support for a very wide
  range of packages.  Their manual is detailed so that new users can get
  started, while it also provides custom code for all sorts of more
  advanced customisations.

## Recent NEWS:

             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
              CHANGE LOG OF THE MODUS THEMES FOR GNU EMACS
             ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━


This document contains the release notes that are included in each
tagged commit on the project's main git repository:
<https://github.com/protesilaos/modus-themes>.

The newest release is at the top.  Since the notes are meant to be in
plain text format, I copy them verbatim.

For further details, please consult these additional resources:

Manual
      <https://protesilaos.com/emacs/modus-themes>
Screenshots
      <https://protesilaos.com/emacs/modus-themes-pictures>


5.2.0 on 2025-12-31
═══════════════════

  This version fixes some bugs, adds a new feature for those who want to
  derive a theme from Modus, and makes other small quality-of-life
  refinements.


The `modus-themes-with-colors' should work at all times
───────────────────────────────────────────────────────

  In the transition to version `5.0.0', I inadvertently introduced
  regressions to the behaviour of the `modus-themes-with-colors' macro.
  This macro `let' binds the current theme's palette around arbitrary
  Elisp expressions, which allows users to access the named colours
  therein. In versions `5.0.0' and `5.1.0' the macro could not read
  variables defined outside its scope. Users needed to write an `eval'
  around it, which I did not like. Now the macro should not require such
  workarounds: it basically is a `let' that should work as expected
  everywhere.

  This was fixed over a series of Git commits related to issue 170:
  <https://github.com/protesilaos/modus-themes/issues/170>. Thanks to
  Alexandr Semenov and realazy for reporting the problems and testing my
  revisions.


The `modus-themes-generate-palette' function to quickly get a palette
─────────────────────────────────────────────────────────────────────

  Users or package developers who want to create a theme on top of Modus
  can now get a kickstart by defining their palette with the help of the
  new `modus-themes-generate-palette' function. This function is meant
  to return a complete palette, given a list of basic colours. Users can
  thus experiment with their new theme while knowing that what they got
  contains all the definitions; definitions that they may then modify
  further (e.g. to define different semantic mappings than the defaults
  such as, for example, to have `(fg-heading-1 red-warmer)' instead of
  what originally is `(fg-heading-1 fg-main)').

  I have written extensive documentation in the manual, which includes a
  complete example of a Solarized theme that is built on top of Modus.
  If you have any questions, you are welcome to contact me.


Convenience commands to select only dark or light themes
────────────────────────────────────────────────────────

  The commands `modus-themes-select-dark' and
  `modus-themes-select-light' use minibuffer completion to load a
  theme. The completion candidates are filtered to only dark or light
  themes, respectively.

  This is effectively the same as calling the command
  `modus-themes-select' with a prefix argument (`C-u' by default).

  Remember that we also have the commands `modus-themes-load-random',
  `modus-themes-load-random-dark', and `modus-themes-load-random-light'.
  Otherwise use the command `modus-themes-rotate'.


Improved prompt for theme selection
───────────────────────────────────

  The minibuffer prompt used by the various Modus commands to select a
  theme now has a grouping function in place: it shows the current theme
  at the top and then all other themes grouped by their dark or light
  background. This makes it easier to find a relevant theme, especially
  if lots of them are present, such as when
  `modus-themes-include-derivatives-mode' is enabled and relevant
  packages/themes are available (e.g. my `ef-themes' and
  `standard-themes').


Semantic colours for `transient.el' (e.g. in Magit)
───────────────────────────────────────────────────

  The `transient.el' concept of "semantic colours" is now supported.
  This is used by default in Magit to denote the different types of
  keys, such as those that exit the transient, keep it active, move to
  another transient, and the like. Users who prefer the old style where
  all key bindings looked the same must customise the user option
  `transient-semantic-coloring'.  …  …

Reply via email to