Skip to content
Modus themes version 2.7.0

By Protesilaos Stavrou <info@protesilaos.com> on 2022-10-01

Support for packages or faces
=============================

* Reinstated support for 'centaur-tabs'.  I had removed it in commit
  2235ce5 (done on 2022-08-02) for version 2.5.0 of the modus-themes.
  At the time I wrote:

      centaur-tabs has a bug where it cannot read the value of a face if it
      uses the standard ':inherit' attribute.  I have sent a patch to fix it,
      but have received no response since February:
      <https://github.com/ema2159/centaur-tabs/pull/179>.

      Relevant reports:

      - <https://github.com/protesilaos/modus-themes/issues/30>
      - <https://gitlab.com/protesilaos/modus-themes/-/issues/288>
      - <https://github.com/protesilaos/modus-themes/issues/15>

      I am happy to reinstate support for centaur-tabs as soon as the package
      gets the maintenance it needs.

  My patch/pull-request is now merged and the package is actively
  maintained once again.  Hence the decision to bring back support for
  it, as promised.

* Applied styles for the 'icon-button' face of Emacs 29.

* Styled the 'log-edit-headers-separator' face of Emacs 29 (it was
  introduced upstream by a patch of mine).

* Made the 'gnus-summary-low-unread' face inherit from the 'italic'
  face like the rest of that subgroup of faces.  This helps
  differentiate it from the 'gnus-summary-high-unread' face.  Thanks
  to Mark Simpson for pointing out the possibility of conflating those
  two faces: <https://lists.sr.ht/~protesilaos/modus-themes/%3Cm2r0zszc2z.fsf@gmail.com%3E>.

* Covered the 'read-multiple-choice-face' by adding a noticeable
  background colour to it.  The default attributes it has, which look
  like other key bindings (bold and blue) plus an underline are
  technically okay, though the context of this face is in the echo
  area which is one line tall.  Moreover, the highlighted keys are
  inlined with other text.  These make it difficult to spot the
  highlights without some extra spacing.  I use the addition of a
  background in Org's export dispatcher interface which also has some
  unique requirements (the 'org-dispatcher-highlight' face).  The
  principle is to have theme-wide consistency (e.g. "all key bindings
  must look the same") EXCEPT when the specifics require a different
  set of styles in the interest of usability.

* Extended the coverage of the 'auctex' package's faces to include the
  'font-latex-underline-face'.  Thanks to Luis Miguel Castañeda for
  reporting a typo I made which caused an error:
  <https://lists.sr.ht/~protesilaos/modus-themes/%3C7h7d2oudpb.fsf@imaginarymagnitude.net%3E>

* Added support for 'crontab-mode'.  Thanks to Antonio Ruiz for the
  patch: <https://lists.sr.ht/~protesilaos/modus-themes/patches/35080>.  It
  is below the ~15 line threshold and thus requires no copyright
  assignment to the Free Software Foundation.

* Extended support for the 'company' package's 'company-scrollbar-bg'
  and 'company-scrollbar-fg' faces.

* Added support for the 'spell-fu' package.  Thanks to Antonio Ruiz
  for the patch: <https://lists.sr.ht/~protesilaos/modus-themes/%3C87fshnq7uv.fsf%40purelymail.com%3E>.
  Same as further above for Antonio's copyright status.

* Moved the 'selectrum-prescient' faces to the 'prescient' group, to
  be consistent with changes in the respective upstream packages.
  Thanks to okamsn for the contribution, which was done in pull
  request 41 on the GitHub mirror: <https://github.com/protesilaos/modus-themes/pull/41>.
  The user okamsn has assigned copyright assignment to the Free
  Software Foundation, although this patch is within the allowed
  limits.

Change to 'fill-column-indicator'
=================================

Made the 'fill-column-indicator' face more noticeable.  It is what the
'display-fill-column-indicator-mode' uses to draw a line on where the
'fill-column' is.

This change is in response to private messages I received as well as
this, at parts impolite and toxic, thread that I refrained from
participating in:
<https://lists.gnu.org/archive/html/help-gnu-emacs/2022-08/msg00255.html>.

[ I do not follow that mailing list, by the way.  All my projects have
  multiple communication channels and I always reply in a timely
  fashion.  Social media, fora about Emacs, generic mailing lists,
  etc. are not among those channels.
  <https://protesilaos.com/codelog/2022-07-24-report-issues-official-channels/>. ]

The core idea is that the previous design was (1) considered
"invisible" and (2) it prevented the customisation of the user option
'display-fill-column-indicator-character'.

I am addressing point 1, but point 2 puts us in an awkward spot as we
would then not be allowed to use a background and a height value.  Not
doing so produces a dashed line by default, with the dashes further
apart the greater the line-spacing is (especially in, say, Org
headings that can have a greater height than paragraph text).  It
looks broken and I keep getting requests to fix what is not the
themes' fault.  So no, the themes will remain opinionated in this
regard by ignoring 'display-fill-column-indicator-character' through
the styling they apply to make the line contiguous.

For context, also read Emacs bug#57424 and please don't take my words
in a private message out of context.  If I need to state my opinion in
a public setting, I know how to do it.
<https://debbugs.gnu.org/cgi/bugreport.cgi?bug=57424>.

Refinement to modus-vivendi 'bg-diff-focus-removed' colour
==========================================================

Made the default removed diff background slightly more luminant.  The
colour is seen in diff-mode, ediff, and the Magit focused diff hunk.

When the user option 'modus-themes-diffs' is set to either 'bg-only' or
'desaturated', this colour is used to highlight word-wise ("refined")
changes.  The increased luminance lets it stand out more compared to the
more subtle backdrop.

Thanks to Kévin Le Gouguec for bringing this issue to my attention and
for discussing it with me:
<https://lists.sr.ht/~protesilaos/modus-themes/%3C87bks4i9tg.fsf@gmail.com%3E>

Note about 'goto-address-mode'
==============================

Quote from the manual:

    The built-in 'goto-address-mode' uses heuristics to identify URLs and
    email addresses in the current buffer.  It then applies a face to them
    to change their style.  Some packages, such as 'notmuch', use this
    minor-mode automatically.

    The faces are not declared with 'defface', meaning that it is better
    that the theme does not modify them.  The user is thus encouraged to
    consider including (or equivalent) this in their setup:

        (setq goto-address-url-face 'link
              goto-address-url-mouse-face 'highlight
              goto-address-mail-face 'link
              goto-address-mail-mouse-face 'highlight)

    My personal preference is to set 'goto-address-mail-face' to nil, as
    it otherwise adds too much visual noise to the buffer (email addresses
    stand out more, due to the use of the uncommon '@' character but also
    because they are often enclosed in angled brackets).

Changes to the manual
=====================

* Fixed a few typos and ensured that spelling using American English
  as that is what emacs.git requires.

* Added the missing ':config' keywords from the example configuration
  of the 'circadian' package.  Thanks to Koen van Greevenbroek for the
  patch: <https://lists.sr.ht/~protesilaos/modus-themes/%3C8735cb6zm3.fsf%40posteo.net%3E>.