]> git.eshelyaron.com Git - emacs.git/commitdiff
Update modus-themes to their 4.7.0 version
authorProtesilaos Stavrou <info@protesilaos.com>
Thu, 17 Apr 2025 07:33:43 +0000 (10:33 +0300)
committerEshel Yaron <me@eshelyaron.com>
Fri, 18 Apr 2025 06:46:45 +0000 (08:46 +0200)
* doc/misc/modus-themes.org: Update the manual to document how
  'modus-themes-list-colors' has changed. Make other minor changes.
* etc/themes/modus-operandi-deuteranopia-theme.el:
* etc/themes/modus-operandi-theme.el:
* etc/themes/modus-operandi-tinted-theme.el:
* etc/themes/modus-operandi-tritanopia-theme.el:
* etc/themes/modus-vivendi-deuteranopia-theme.el:
* etc/themes/modus-vivendi-theme.el:
* etc/themes/modus-vivendi-tinted-theme.el:
* etc/themes/modus-vivendi-tritanopia-theme.el: Make stylistic refinements.
* etc/themes/modus-themes.el: Make refinements to supported
  faces, add support for more faces, and the like.

Release notes: <https://protesilaos.com/codelog/2025-04-17-emacs-modus-themes-4-7-0/>.

(cherry picked from commit 1e4ce136036e1ff43fcc436114e66ce48f33ea01)

doc/misc/modus-themes.org
etc/themes/modus-operandi-deuteranopia-theme.el
etc/themes/modus-operandi-theme.el
etc/themes/modus-operandi-tinted-theme.el
etc/themes/modus-operandi-tritanopia-theme.el
etc/themes/modus-themes.el
etc/themes/modus-vivendi-deuteranopia-theme.el
etc/themes/modus-vivendi-theme.el
etc/themes/modus-vivendi-tinted-theme.el
etc/themes/modus-vivendi-tritanopia-theme.el

index 4c8a1c827491b50e060ad73b63a4aa219c7e116e..8b5940f83a42aeb94b416e8c58c37aaff68bbbcb 100644 (file)
@@ -4,9 +4,9 @@
 #+language: en
 #+options: ':t toc:nil author:t email:t num:t
 #+startup: content
-#+macro: stable-version 4.6.0
-#+macro: release-date 2024-10-27
-#+macro: development-version 4.7.0-dev
+#+macro: stable-version 4.7.0
+#+macro: release-date 2025-04-17
+#+macro: development-version 4.8.0-dev
 #+macro: file @@texinfo:@file{@@$1@@texinfo:}@@
 #+macro: space @@texinfo:@: @@
 #+macro: kbd @@texinfo:@kbd{@@$1@@texinfo:}@@
@@ -88,7 +88,7 @@ The Modus themes consist of eight themes, divided into four subgroups.
   are variants of the two main themes.  They slightly tone down the
   intensity of the background and provide a bit more color variety.
   ~modus-operandi-tinted~ has a set of base tones that are shades of
-  light ocher (earthly colors), while ~modus-vivendi-tinted~ gives a
+  light ochre (earthly colors), while ~modus-vivendi-tinted~ gives a
   night sky impression.
 
 - Deuteranopia themes :: ~modus-operandi-deuteranopia~ and its
@@ -1309,37 +1309,32 @@ Examples demonstrating how to use the aforementioned:
 #+findex: modus-themes-list-colors
 The command ~modus-themes-list-colors~ uses minibuffer completion to
 select an item from the Modus themes and then produces a buffer with
-previews of its color palette entries.  The buffer has a naming scheme
-that reflects the given choice, like =modus-operandi-list-colors= for
-the ~modus-operandi~ theme.
+previews of all of its color palette entries.
 
 #+findex: modus-themes-list-colors-current
 The command ~modus-themes-list-colors-current~ skips the minibuffer
-selection process and just produces a preview for the current Modus
-theme.
+selection process to produce a preview for the current Modus theme.
 
 When called with a prefix argument (=C-u= with the default key
 bindings), these commands will show a preview of the palette's
-semantic color mappings instead of the named colors.  In this context,
-"named colors" are entries that associate a symbol to a string color
-value, such as =(blue-warmer "#354fcf")=.  Whereas "semantic color
-mappings" associate a named color to a symbol, like =(string
-blue-warmer)=, thus making the theme render all string constructs in
-the =blue-warmer= color value ([[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]]).
+semantic color mappings instead of the full palette ([[#h:34c7a691-19bb-4037-8d2f-67a07edab150][Option for palette overrides]]).
 
 #+findex: modus-themes-preview-colors
 #+findex: modus-themes-preview-colors-current
-Aliases for those commands are ~modus-themes-preview-colors~ and
+Aliases for these commands are ~modus-themes-preview-colors~ and
 ~modus-themes-preview-colors-current~.
 
-Each row shows a foreground and background coloration using the
-underlying value it references.  For example a line with =#a60000= (a
-shade of red) will show red text followed by a stripe with that same
-color as a backdrop.
+Each row includes a foreground and background rendition of the given
+color value. For example a line with =#a60000= (a shade of red) will
+show a column with a red background combined with a suitable
+foreground followed by another column with a red foreground against
+the current theme's background. The intent is to illustrate which
+values are suitable as a background or foreground.
 
 The name of the buffer describes the given Modus theme and what the
-contents are, such as =*modus-operandi-list-colors*= for named colors
-and ==*modus-operandi-list-mappings*= for the semantic color mappings.
+contents are, such as =*modus-operandi-list-all*= for the entirety of
+the palette (named colors as well as semantic color mappings) and
+==*modus-operandi-list-mappings*= for the mappings only.
 
 * Use colors from the Modus themes palette
 :PROPERTIES:
@@ -1361,7 +1356,7 @@ value in some other application.
 :END:
 
 #+findex: modus-themes-get-color-value
-The function ~modus-themes-get-color-value~ can be called from Lisp to
+The fuction ~modus-themes-get-color-value~ can be called from Lisp to
 return the value of a color from the active Modus theme palette. It
 takea a =COLOR= argument and an optional =OVERRIDES=. It also accepts
 a third =THEME= argument, to get the color from the given theme.
@@ -2367,7 +2362,7 @@ until version 4.3.0.
 ;; was the default in versions of the Modus themes before 4.4.0
 (setq modus-themes-common-palette-overrides
       '((bg-prose-block-contents unspecified)
-        (bg-prose-block-delimiter unspecified)
+        (bg-prose-block-delimiter unspeficied)
         (fg-prose-block-delimiter fg-dim)))
 #+end_src
 
@@ -2941,7 +2936,7 @@ Reload the theme for changes to take effect.
 :CUSTOM_ID: h:a5140c9c-18b2-45db-8021-38d0b5074116
 :END:
 
-By default, the background of the ~region~ face extends from the
+By the default, the background of the ~region~ face extends from the
 end of the line to the edge of the window.  To limit it to the end of
 the line, we need to override the face's =:extend= attribute.  Adding
 this to the Emacs configuration file will suffice:
@@ -3365,7 +3360,7 @@ specification of that variable looks like this:
 
 With the exception of ~org-verbatim~ and ~org-code~ faces, everything else
 uses the corresponding type of emphasis: a bold typographic weight, or
-italicized, underlined, and struck through text.
+italicised, underlined, and struck through text.
 
 The best way for users to add some extra attributes, such as a
 foreground color, is to define their own faces and assign them to the
@@ -3985,13 +3980,13 @@ styles to use. The following is but a basic attempt to get started.
   (modus-themes-with-colors
     (custom-set-faces
      ;; FIXME: What is a "region cursor" and should it differ from the position highlights below?
-     `(meow-region-cursor-1 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-0)))
-     `(meow-region-cursor-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-1)))
-     `(meow-region-cursor-3 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-2)))
+     `(meow-region-cursor-1 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+     `(meow-region-cursor-2 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+     `(meow-region-cursor-3 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
 
-     `(meow-position-highlight-number-1 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-0)))
-     `(meow-position-highlight-number-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-1)))
-     `(meow-position-highlight-number-3 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-2))))))
+     `(meow-position-highlight-number-1 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+     `(meow-position-highlight-number-2 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+     `(meow-position-highlight-number-3 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft)))))))
 
 (add-hook 'enable-theme-functions #'my-modus-themes-custom-faces)
 #+end_src
@@ -4049,45 +4044,6 @@ the theme level. Users can try this instead:
 
 [[#h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24][Using a hook at the post-load-theme phase]].
 
-** DIY Add support for howm
-:PROPERTIES:
-:CUSTOM_ID: h:7ea8fa66-1cd8-47b0-92b4-9998a3068f85
-:END:
-
-The ~howm~ package is a note-taking solution for Emacs. Users can add
-support for its faces with something like the following.
-
-#+begin_src emacs-lisp
-(defun my-modus-themes-custom-faces (&rest _)
-  (modus-themes-with-colors
-    (custom-set-faces
-     `(action-lock-face ((,c :inherit button)))
-     `(howm-mode-keyword-face (( )))
-     `(howm-mode-ref-face ((,c :inherit link)))
-     `(howm-mode-title-face ((,c :inherit modus-themes-heading-0)))
-     `(howm-mode-wiki-face ((,c :inherit link)))
-     `(howm-reminder-deadline-face ((,c :foreground ,date-deadline)))
-     `(howm-reminder-late-deadline-face ((,c :inherit bold :foreground ,date-deadline)))
-     `(howm-reminder-defer-face ((,c :foreground ,date-scheduled)))
-     `(howm-reminder-scheduled-face ((,c :foreground ,date-scheduled)))
-     `(howm-reminder-done-face ((,c :foreground ,prose-done)))
-     `(howm-reminder-todo-face ((,c :foreground ,prose-todo)))
-     `(howm-reminder-normal-face ((,c :foreground ,date-common)))
-     `(howm-reminder-today-face ((,c :inherit bold :foreground ,date-common)))
-     `(howm-reminder-tomorrow-face ((,c :inherit bold :foreground ,date-scheduled)))
-     `(howm-simulate-todo-mode-line-face ((,c :inherit bold)))
-     `(howm-view-empty-face (( )))
-     `(howm-view-hilit-face ((,c :inherit match)))
-     `(howm-view-name-face ((,c :inherit bold)))
-     `(iigrep-counts-face1 ((,c :foreground ,rainbow-1)))
-     `(iigrep-counts-face2 ((,c :foreground ,rainbow-2)))
-     `(iigrep-counts-face3 ((,c :foreground ,rainbow-3)))
-     `(iigrep-counts-face4 ((,c :foreground ,rainbow-4)))
-     `(iigrep-counts-face5 ((,c :foreground ,rainbow-5))))))
-
-(add-hook 'enable-theme-functions #'my-modus-themes-custom-faces)
-#+end_src
-
 ** DIY Use a hook at the post-load-theme phase
 :PROPERTIES:
 :CUSTOM_ID: h:d87673fe-2ce1-4c80-a4b8-be36ca9f2d24
@@ -4207,6 +4163,7 @@ project.  The idea is to offer an overview of the known status of all
 affected face groups.  The items with an appended asterisk =*= tend to
 have lots of extensions, so the "full support" may not be 100% true…
 
++ abbrev
 + ace-window
 + agda2-mode
 + all-the-icons
@@ -4314,6 +4271,7 @@ have lots of extensions, so the "full support" may not be 100% true…
 + hl-fill-column
 + hl-line-mode
 + hl-todo
++ howm
 + hydra
 + ibuffer
 + icomplete
@@ -4420,6 +4378,7 @@ have lots of extensions, so the "full support" may not be 100% true…
 + sly
 + smart-mode-line
 + smerge
++ spacious-padding
 + speedbar
 + spell-fu
 + stripes
@@ -4435,8 +4394,10 @@ have lots of extensions, so the "full support" may not be 100% true…
 + terraform-mode
 + term
 + textsec
++ tldr
 + transient (pop-up windows such as Magit's)
 + trashed
++ treemacs
 + tree-sitter
 + tty-menu
 + tuareg
@@ -5407,7 +5368,7 @@ more effective than trying to do the same with either red or blue (the
 latter is the least effective in that regard).
 
 When we need to work with several colors, it is always better to have
-sufficient maneuvering space, especially since we cannot pick arbitrary
+sufficient manoeuvring space, especially since we cannot pick arbitrary
 colors but only those that satisfy the accessibility objectives of the
 themes.
 
@@ -5513,7 +5474,7 @@ it is already understood that one must follow the indicator or headline
 to view its contents and (ii) underlining everything would make the
 interface virtually unusable.
 
-Again, one must exercise judgment in order to avoid discrimination,
+Again, one must exercise judgement in order to avoid discrimination,
 where "discrimination" refers to:
 
 + The treatment of substantially different magnitudes as if they were of
@@ -5587,7 +5548,7 @@ the themes, which is partially fleshed out in this manual.
 
 With regard to the artistic aspect (where "art" qua skill may amount to
 an imprecise science), there is no hard-and-fast rule in effect as it
-requires one to exercise discretion and make decisions based on
+requires one to exercize discretion and make decisions based on
 context-dependent information or constraints.  As is true with most
 things in life, when in doubt, do not cling on to the letter of the law
 but try to understand its spirit.
@@ -5736,14 +5697,14 @@ The Modus themes are a collective effort.  Every bit of work matters.
   Contovounesios, Björn Lindström, Carlo Zancanaro, Christian Tietze,
   Daniel Mendler, David Edmondson, Eli Zaretskii, Fritz Grabo, Gautier
   Ponsinet, Illia Ostapyshyn, Jared Finder, Kévin Le Gouguec, Koen van
-  Greevenbroek, Kostadin Ninev, Madhavan Krishnan, Manuel Giraud,
-  Markus Beppler, Matthew Stevenson, Mauro Aranda, Nacho Barrientos,
-  Niall Dooley, Nicolas De Jaeghere, Paul David, Pavel Novichkov,
-  Philip Kaludercic, Pierre Téchoueyres, Rudolf Adamkovič, Sergey
-  Nichiporchik, Shreyas Ragavan, Stefan Kangas, Stephen Berman,
-  Stephen Gildea, Steve Downey, Thanos Apollo, Tomasz Hołubowicz,
-  Utkarsh Singh, Vincent Murphy, Xinglu Chen, Yuanchen Xie, fluentpwn,
-  okamsn.
+  Greevenbroek, Kostadin Ninev, Leilei332, Madhavan Krishnan, Manuel
+  Giraud, Markus Beppler, Matthew Stevenson, Mauro Aranda, Nacho
+  Barrientos, Niall Dooley, Nicolas De Jaeghere, Paul David, Pavel
+  Novichkov, Philip Kaludercic, Pierre Téchoueyres, Rahul M.
+  {{{space()}}} Juliato, Rudolf Adamkovič, Sergey Nichiporchik,
+  Shreyas Ragavan, Stefan Kangas, Stephen Berman, Stephen Gildea,
+  Steve Downey, Thanos Apollo, Tomasz Hołubowicz, Utkarsh Singh,
+  Vincent Murphy, Xinglu Chen, Yuanchen Xie, fluentpwn, okamsn.
 
 + Ideas and user feedback :: Aaron Jensen, Adam Porter, Adam Spiers,
   Adrian Manea, Aleksei Pirogov, Alex Griffin, Alex Koen, Alex
@@ -5779,7 +5740,8 @@ The Modus themes are a collective effort.  Every bit of work matters.
   Eugene, Fourchaux, Fredrik, Moesasji, Nick, Summer Emacs, TheBlob42,
   TitusMu, Trey, ZharMeny, bepolymathe, bit9tream, bangedorrunt,
   derek-upham, doolio, fleimgruber, gitrj95, iSeeU, jixiuf, ltmsyvag,
-  okamsn, pRot0ta1p, shipmints, soaringbird, tumashu, wakamenod.
+  okamsn, pedro-nonfree, pRot0ta1p, shipmints, soaringbird, tumashu,
+  wakamenod.
 
 + Packaging :: Basil L.{{{space()}}} Contovounesios, Eli Zaretskii,
   Glenn Morris, Mauro Aranda, Richard Stallman, Stefan Kangas (core
@@ -5812,7 +5774,7 @@ All errors are my own.
                  Version 1.3, 3 November 2008
 
 
- Copyright (C) 2000-2002, 2007-2008, 2025 Free Software Foundation, Inc.
+ Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
      <https://fsf.org/>
  Everyone is permitted to copy and distribute verbatim copies
  of this license document, but changing it is not allowed.
index 55015c7f30bb3538cb61f79233c068fbb2a928a1..45167dbd7d42f498f6a5a160d1a51d0c83bbc931 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-operandi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a white background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -167,15 +167,11 @@ standard)."
 
       (bg-completion       "#c0deff")
       (bg-hover            "#b2e4dc")
-      (bg-hover-secondary  "#f5d0a0")
+      (bg-hover-secondary  "#e5d7a0")
       (bg-hl-line          "#dae5ec")
       (bg-region           "#bdbdbd")
       (fg-region           "#000000")
 
-      (bg-char-0 "#7feaff")
-      (bg-char-1 "#ffaaff")
-      (bg-char-2 "#dff000")
-
       (bg-mode-line-active        "#d0d6ff")
       (fg-mode-line-active        "#0f0f0f")
       (border-mode-line-active    "#4f4f74")
@@ -216,13 +212,6 @@ standard)."
 
       (bg-diff-context    "#f3f3f3")
 
-;;; Paren match
-
-      (bg-paren-match        "#5fcfff")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#efd3f5")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -257,17 +246,17 @@ standard)."
 ;;;; Code mappings
 
       (bracket fg-main)
-      (builtin magenta-warmer)
+      (builtin yellow)
       (comment yellow-cooler)
-      (constant blue-cooler)
+      (constant blue-faint)
       (delimiter fg-main)
       (docmarkup magenta-faint)
       (docstring green-faint)
-      (fnname magenta)
-      (keyword magenta-cooler)
+      (fnname yellow-warmer)
+      (keyword blue-cooler)
       (number fg-main)
       (operator fg-main)
-      (preprocessor red-cooler)
+      (preprocessor magenta-cooler)
       (punctuation fg-main)
       (rx-backslash blue-cooler)
       (rx-construct yellow-cooler)
@@ -275,12 +264,19 @@ standard)."
       (type cyan-cooler)
       (variable cyan)
 
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-yellow-nuanced)
+
 ;;;; Accent mappings
 
-      (accent-0 blue)
+      (accent-0 blue-warmer)
       (accent-1 yellow-warmer)
       (accent-2 cyan)
-      (accent-3 magenta-cooler)
+      (accent-3 yellow-cooler)
 
 ;;;; Button mappings
 
@@ -291,10 +287,10 @@ standard)."
 
 ;;;; Completion mappings
 
-      (fg-completion-match-0 blue)
+      (fg-completion-match-0 blue-warmer)
       (fg-completion-match-1 yellow-warmer)
       (fg-completion-match-2 cyan)
-      (fg-completion-match-3 magenta-cooler)
+      (fg-completion-match-3 yellow-cooler)
       (bg-completion-match-0 unspecified)
       (bg-completion-match-1 unspecified)
       (bg-completion-match-2 unspecified)
@@ -313,7 +309,7 @@ standard)."
       (date-scheduled yellow-cooler)
       (date-scheduled-subtle yellow-faint)
       (date-weekday cyan)
-      (date-weekend magenta)
+      (date-weekend blue-cooler)
 
 ;;;; Line number mappings
 
@@ -374,7 +370,7 @@ standard)."
       (fg-prose-macro magenta-cooler)
 
       (bg-prose-verbatim unspecified)
-      (fg-prose-verbatim magenta-warmer)
+      (fg-prose-verbatim yellow)
 
       (prose-done blue)
       (prose-todo yellow-warmer)
@@ -385,7 +381,7 @@ standard)."
       (prose-table fg-alt)
       (prose-table-formula yellow-warmer)
 
-      (prose-tag magenta-faint)
+      (prose-tag fg-alt)
 
 ;;;; Rainbow mappings
 
@@ -403,7 +399,7 @@ standard)."
 
       (bg-search-current bg-yellow-intense)
       (bg-search-lazy bg-blue-intense)
-      (bg-search-replace bg-magenta-intense)
+      (bg-search-replace bg-yellow-intense)
 
       (bg-search-rx-group-0 bg-cyan-intense)
       (bg-search-rx-group-1 bg-magenta-intense)
@@ -463,11 +459,11 @@ standard)."
       (fg-heading-0 cyan-cooler)
       (fg-heading-1 fg-main)
       (fg-heading-2 yellow-faint)
-      (fg-heading-3 fg-alt)
-      (fg-heading-4 magenta)
-      (fg-heading-5 green-faint)
-      (fg-heading-6 red-faint)
-      (fg-heading-7 cyan-warmer)
+      (fg-heading-3 blue-faint)
+      (fg-heading-4 green-faint)
+      (fg-heading-5 magenta-cooler)
+      (fg-heading-6 yellow-cooler)
+      (fg-heading-7 cyan)
       (fg-heading-8 fg-dim)
 
       (bg-heading-0 unspecified)
index 7c653b23fb3dac084ad4babfab2f301ae9789eda..6f92f86461620069e6ce5bd80e5b69f585b55856 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-operandi-theme.el --- Elegant, highly legible theme with a white background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -170,10 +170,6 @@ which corresponds to a minimum contrast in relative luminance of
       (bg-region           "#bdbdbd")
       (fg-region           "#000000")
 
-      (bg-char-0 "#7feaff")
-      (bg-char-1 "#ffaaff")
-      (bg-char-2 "#dff000")
-
       (bg-mode-line-active        "#c8c8c8")
       (fg-mode-line-active        "#000000")
       (border-mode-line-active    "#5a5a5a")
@@ -214,13 +210,6 @@ which corresponds to a minimum contrast in relative luminance of
 
       (bg-diff-context    "#f3f3f3")
 
-;;; Paren match
-
-      (bg-paren-match        "#5fcfff")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#efd3f5")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -273,6 +262,13 @@ which corresponds to a minimum contrast in relative luminance of
       (type cyan-cooler)
       (variable cyan)
 
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-yellow-nuanced)
+
 ;;;; Accent mappings
 
       (accent-0 blue)
index ca783c2f0228b26226206cc36fb04dfd7b4f5744..11b7f38ba0f4c0251d35a76c12cfa75987642bf5 100644 (file)
@@ -1,6 +1,6 @@
-;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ocher background -*- lexical-binding:t -*-
+;;; modus-operandi-tinted-theme.el --- Elegant, highly legible theme with a light ochre background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -44,7 +44,7 @@
 
 ;;;###theme-autoload
   (deftheme modus-operandi-tinted
-    "Elegant, highly legible theme with a light ocher background.
+    "Elegant, highly legible theme with a light ochre background.
 Conforms with the highest legibility standard for color contrast
 between background and foreground in any given piece of text,
 which corresponds to a minimum contrast in relative luminance of
@@ -73,18 +73,18 @@ which corresponds to a minimum contrast in relative luminance of
       (red-cooler      "#a0132f")
       (red-faint       "#7f0000")
       (red-intense     "#d00000")
-      (green           "#006800")
-      (green-warmer    "#316500")
-      (green-cooler    "#00663f")
+      (green           "#006300")
+      (green-warmer    "#306010")
+      (green-cooler    "#00603f")
       (green-faint     "#2a5045")
       (green-intense   "#008900")
-      (yellow          "#6f5500")
-      (yellow-warmer   "#884900")
-      (yellow-cooler   "#7a4f2f")
-      (yellow-faint    "#624416")
+      (yellow          "#6d5000")
+      (yellow-warmer   "#894000")
+      (yellow-cooler   "#602938")
+      (yellow-faint    "#574316")
       (yellow-intense  "#808000")
       (blue            "#0031a9")
-      (blue-warmer     "#3548cf")
+      (blue-warmer     "#3546c2")
       (blue-cooler     "#0000b0")
       (blue-faint      "#003497")
       (blue-intense    "#0000ff")
@@ -93,10 +93,10 @@ which corresponds to a minimum contrast in relative luminance of
       (magenta-cooler  "#531ab6")
       (magenta-faint   "#7c318f")
       (magenta-intense "#dd22dd")
-      (cyan            "#005e8b")
-      (cyan-warmer     "#3f578f")
+      (cyan            "#00598b")
+      (cyan-warmer     "#32548f")
       (cyan-cooler     "#005f5f")
-      (cyan-faint      "#005077")
+      (cyan-faint      "#304463")
       (cyan-intense    "#008899")
 
 ;;; Uncommon accent foregrounds
@@ -165,15 +165,11 @@ which corresponds to a minimum contrast in relative luminance of
 
       (bg-completion       "#f0c1cf")
       (bg-hover            "#b2e4dc")
-      (bg-hover-secondary  "#f5d0a0")
+      (bg-hover-secondary  "#dfe09f")
       (bg-hl-line          "#f1d5d0")
       (bg-region           "#c2bcb5")
       (fg-region           "#000000")
 
-      (bg-char-0 "#7feaff")
-      (bg-char-1 "#ffaaff")
-      (bg-char-2 "#dff000")
-
       (bg-mode-line-active        "#cab9b2")
       (fg-mode-line-active        "#000000")
       (border-mode-line-active    "#545454")
@@ -214,13 +210,6 @@ which corresponds to a minimum contrast in relative luminance of
 
       (bg-diff-context    "#efe9df")
 
-;;; Paren match
-
-      (bg-paren-match        "#7fdfcf")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#efd3f5")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -230,11 +219,11 @@ which corresponds to a minimum contrast in relative luminance of
 
       (keybind red)
       (name magenta)
-      (identifier yellow-cooler)
+      (identifier yellow-faint)
 
       (err red)
-      (warning yellow-warmer)
-      (info cyan-cooler)
+      (warning yellow)
+      (info green)
 
       (underline-err red-intense)
       (underline-warning yellow-intense)
@@ -255,30 +244,37 @@ which corresponds to a minimum contrast in relative luminance of
 ;;;; Code mappings
 
       (bracket fg-main)
-      (builtin magenta-warmer)
+      (builtin magenta)
       (comment red-faint)
-      (constant blue-cooler)
+      (constant magenta-cooler)
       (delimiter fg-main)
       (docmarkup magenta-faint)
-      (docstring green-faint)
-      (fnname magenta)
-      (keyword magenta-cooler)
+      (docstring cyan-faint)
+      (fnname yellow-cooler)
+      (keyword blue)
       (number fg-main)
       (operator fg-main)
-      (preprocessor red-cooler)
+      (preprocessor yellow-warmer)
       (punctuation fg-main)
-      (rx-backslash magenta)
-      (rx-construct green-cooler)
-      (string blue-warmer)
-      (type cyan-cooler)
-      (variable cyan)
+      (rx-backslash magenta-warmer)
+      (rx-construct magenta-cooler)
+      (string cyan)
+      (type green-warmer)
+      (variable green-cooler)
+
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-yellow-nuanced)
 
 ;;;; Accent mappings
 
-      (accent-0 blue)
-      (accent-1 magenta-warmer)
-      (accent-2 cyan)
-      (accent-3 red)
+      (accent-0 red-cooler)
+      (accent-1 cyan)
+      (accent-2 magenta-cooler)
+      (accent-3 yellow-warmer)
 
 ;;;; Button mappings
 
@@ -336,14 +332,14 @@ which corresponds to a minimum contrast in relative luminance of
 
 ;;;; Mail mappings
 
-      (mail-cite-0 blue-faint)
-      (mail-cite-1 yellow-warmer)
-      (mail-cite-2 cyan-cooler)
+      (mail-cite-0 cyan-cooler)
+      (mail-cite-1 yellow)
+      (mail-cite-2 green-warmer)
       (mail-cite-3 red-cooler)
-      (mail-part cyan)
-      (mail-recipient magenta-cooler)
+      (mail-part magenta-cooler)
+      (mail-recipient blue-warmer)
       (mail-subject magenta-warmer)
-      (mail-other magenta-faint)
+      (mail-other magenta)
 
 ;;;; Mark mappings
 
@@ -356,7 +352,7 @@ which corresponds to a minimum contrast in relative luminance of
 
 ;;;; Prompt mappings
 
-      (fg-prompt cyan-cooler)
+      (fg-prompt green-cooler)
       (bg-prompt unspecified)
 
 ;;;; Prose mappings
@@ -366,13 +362,13 @@ which corresponds to a minimum contrast in relative luminance of
       (bg-prose-block-contents bg-dim)
 
       (bg-prose-code unspecified)
-      (fg-prose-code cyan-cooler)
+      (fg-prose-code green-cooler)
 
       (bg-prose-macro unspecified)
-      (fg-prose-macro magenta-cooler)
+      (fg-prose-macro blue-cooler)
 
       (bg-prose-verbatim unspecified)
-      (fg-prose-verbatim magenta-warmer)
+      (fg-prose-verbatim yellow-warmer)
 
       (prose-done green)
       (prose-todo red)
@@ -458,7 +454,7 @@ which corresponds to a minimum contrast in relative luminance of
 
 ;;;; Heading mappings
 
-      (fg-heading-0 cyan-cooler)
+      (fg-heading-0 green-cooler)
       (fg-heading-1 fg-main)
       (fg-heading-2 yellow-faint)
       (fg-heading-3 fg-alt)
index af6f9e3f1a47a630e7f8704f4054f0aa409e918a..8638d201d7f0f1a024f5f5b8878674e3889ae632 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a white background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -63,7 +63,7 @@ standard)."
       (bg-dim           "#f2f2f2")
       (fg-main          "#000000")
       (fg-dim           "#595959")
-      (fg-alt           "#193668")
+      (fg-alt           "#024960")
       (bg-active        "#c4c4c4")
       (bg-inactive      "#e0e0e0")
       (border           "#9f9f9f")
@@ -167,15 +167,11 @@ standard)."
 
       (bg-completion       "#afdfef")
       (bg-hover            "#ffafbc")
-      (bg-hover-secondary  "#9fdfff")
+      (bg-hover-secondary  "#abdfdd")
       (bg-hl-line          "#dfeaec")
       (bg-region           "#bdbdbd")
       (fg-region           "#000000")
 
-      (bg-char-0 "#ff908f")
-      (bg-char-1 "#bfbfff")
-      (bg-char-2 "#5fcfdf")
-
       (bg-mode-line-active        "#afe0f2")
       (fg-mode-line-active        "#0f0f0f")
       (border-mode-line-active    "#2f4f44")
@@ -216,13 +212,6 @@ standard)."
 
       (bg-diff-context    "#f3f3f3")
 
-;;; Paren match
-
-      (bg-paren-match        "#5fcfff")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#efd3f5")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -275,6 +264,13 @@ standard)."
       (type blue-warmer)
       (variable cyan-cooler)
 
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-red-nuanced)
+
 ;;;; Accent mappings
 
       (accent-0 cyan)
@@ -385,7 +381,7 @@ standard)."
       (prose-table fg-alt)
       (prose-table-formula red-cooler)
 
-      (prose-tag magenta-faint)
+      (prose-tag fg-alt)
 
 ;;;; Rainbow mappings
 
index 5063d949273ad98340a1903c22b7195e8dd467c3..df39cf2d192e3d1f6152de7b502dd6eea6e19e74 100644 (file)
@@ -1,12 +1,12 @@
 ;;; modus-themes.el --- Elegant, highly legible and customizable themes -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
 ;; URL: https://github.com/protesilaos/modus-themes
-;; Version: 4.6.0
-;; Package-Requires: ((emacs "27.1"))
+;; Version: 4.7.0
+;; Package-Requires: ((emacs "28.1"))
 ;; Keywords: faces, theme, accessibility
 
 ;; This file is part of GNU Emacs.
@@ -309,11 +309,12 @@ If the value is nil or otherwise does not specify two valid Modus
 themes, the command `modus-themes-toggle' reverts to selecting a
 theme from the list of available Modus themes.  In effect, it is
 the same as using the command `modus-themes-select'."
-  :type `(choice
-          (const :tag "No toggle" nil)
-          (list :tag "Pick two themes to toggle between"
-                (choice :tag "Theme one of two" ,@(mapcar (lambda (theme) (list 'const theme)) modus-themes-items))
-                (choice :tag "Theme two of two" ,@(mapcar (lambda (theme) (list 'const theme)) modus-themes-items))))
+  :type (let ((themes (mapcar (lambda (theme) (list 'const theme)) modus-themes-items)))
+          `(choice
+            (const :tag "No toggle" nil)
+            (list :tag "Pick two themes to toggle between"
+                  (choice :tag "Theme one of two" ,@themes)
+                  (choice :tag "Theme two of two" ,@themes))))
   :package-version '(modus-themes . "4.0.0")
   :version "30.1"
   :group 'modus-themes)
@@ -327,7 +328,8 @@ the same as using the command `modus-themes-select'."
   :version "31.1"
   :group 'modus-themes)
 
-(defvaralias 'modus-themes-post-load-hook 'modus-themes-after-load-theme-hook)
+(defvaralias 'modus-themes-post-load-hook 'modus-themes-after-load-theme-hook
+  "Alias for `modus-themes-after-load-theme-hook'.")
 
 (defcustom modus-themes-after-load-theme-hook nil
   "Hook that runs after loading a Modus theme.
@@ -1153,7 +1155,7 @@ This function is used in the macros `modus-themes-theme',
           (eq value 'unspecified))
       value)
      ((and (symbolp value)
-           (memq value (mapcar #'car palette)))
+           value)
       (modus-themes--retrieve-palette-value value palette))
      (t
       'unspecified))))
@@ -1209,15 +1211,15 @@ symbol, which is safe when used as a face attribute's value."
   "Render `modus-themes--list-known-themes' as completion with theme category."
   (modus-themes--completion-table 'theme (modus-themes--list-known-themes)))
 
-(defun modus-themes--select-prompt ()
-  "Minibuffer prompt to select a Modus theme."
+(defun modus-themes--select-prompt (&optional prompt)
+  "Minibuffer prompt to select a Modus theme.
+With optional PROMPT string, use it.  Else use a generic prompt."
   (let ((completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme)))
     (intern
      (completing-read
-      "Select Modus theme: "
+      (or prompt "Select Modus theme: ")
       (modus-themes--completion-table-candidates)
-      nil t nil
-      'modus-themes--select-theme-history))))
+      nil t nil 'modus-themes--select-theme-history))))
 
 ;;;###autoload
 (defun modus-themes-select (theme)
@@ -1231,13 +1233,13 @@ Disable other themes per `modus-themes-disable-other-themes'."
 
 (defun modus-themes--toggle-theme-p ()
   "Return non-nil if `modus-themes-to-toggle' are valid."
-  (mapc
-   (lambda (theme)
-     (if (or (memq theme modus-themes-items)
-             (memq theme (modus-themes--list-known-themes)))
-         theme
-       (user-error "`%s' is not part of `modus-themes-items'" theme)))
-   modus-themes-to-toggle))
+  (condition-case nil
+      (dolist (theme modus-themes-to-toggle)
+        (or (memq theme modus-themes-items)
+            (memq theme (modus-themes--list-known-themes))
+            (error "`%s' is not part of `modus-themes-items'" theme)))
+    (error nil)
+    (:success modus-themes-to-toggle)))
 
 ;;;###autoload
 (defun modus-themes-toggle ()
@@ -1294,87 +1296,88 @@ the list becomes the last.  Do not modify THEMES in the process."
 
 ;;;;; Preview a theme palette
 
-(defun modus-themes--list-colors-render (buffer theme &optional mappings &rest _)
-  "Render colors in BUFFER from THEME for `modus-themes-list-colors'.
-Optional MAPPINGS changes the output to only list the semantic
-color mappings of the palette, instead of its named colors."
+(defun modus-themes--list-colors-get-mappings (palette)
+  "Get the semantic palette entries in PALETTE.
+PALETTE is the value of a variable like `modus-operandi-palette'."
+  (seq-remove
+   (lambda (cell)
+     (stringp (cadr cell)))
+   palette))
+
+(defun modus-themes--list-colors-tabulated (theme &optional mappings)
+  "Return a data structure of THEME palette or MAPPINGS for tabulated list."
   (let* ((current-palette (modus-themes--palette-value theme mappings))
          (palette (if mappings
-                      (seq-remove (lambda (cell)
-                                    (stringp (cadr cell)))
-                                  current-palette)
-                    current-palette))
-         (current-buffer buffer)
-         (current-theme theme))
-    (with-help-window buffer
-      (with-current-buffer standard-output
-        (erase-buffer)
-        (when (<= (display-color-cells) 256)
-          (insert (concat "Your display terminal may not render all color previews!\n"
-                          "It seems to only support <= 256 colors.\n\n"))
-          (put-text-property (point-min) (point) 'face 'warning))
-        ;; We need this to properly render the first line.
-        (insert " ")
-        (dolist (cell palette)
-          (let* ((name (car cell))
-                 (color (modus-themes-get-color-value name mappings theme))
-                 (pad (make-string 10 ?\s))
-                 (fg (if (eq color 'unspecified)
-                         (progn
-                           (readable-foreground-color (modus-themes-get-color-value 'bg-main nil theme))
-                           (setq pad (make-string 6 ?\s)))
-                       (readable-foreground-color color))))
-            (let ((old-point (point)))
-              (insert (format "%s %s" color pad))
-              (put-text-property old-point (point) 'face `( :foreground ,color)))
-            (let ((old-point (point)))
-              (insert (format " %s %s %s\n" color pad name))
-              (put-text-property old-point (point)
-                                 'face `( :background ,color
-                                          :foreground ,fg
-                                          :extend t)))
-            ;; We need this to properly render the last line.
-            (insert " ")))
-        (setq-local revert-buffer-function
-                    (lambda (_ignore-auto _noconfirm)
-                      (modus-themes--list-colors-render current-buffer current-theme mappings)))))))
-
-(defvar modus-themes--list-colors-prompt-history '()
-  "Minibuffer history for `modus-themes--list-colors-prompt'.")
-
-(defun modus-themes--list-colors-prompt ()
-  "Prompt for Modus theme.
-Helper function for `modus-themes-list-colors'."
-  (let ((def (format "%s" (modus-themes--current-theme)))
-        (completion-extra-properties `(:annotation-function ,#'modus-themes--annotate-theme)))
-    (completing-read
-     (format "Use palette from theme [%s]: " def)
-     (modus-themes--completion-table-candidates)
-     nil t nil
-     'modus-themes--list-colors-prompt-history def)))
+                      (modus-themes--list-colors-get-mappings current-palette)
+                    current-palette)))
+    (mapcar (lambda (cell)
+              (pcase-let* ((`(,name ,value) cell)
+                           (name-string (format "%s" name))
+                           (value-string (format "%s" value))
+                           (value-string-padded (string-pad value-string 30))
+                           (color (modus-themes-get-color-value name mappings theme))) ; resolve a semantic mapping
+                (list name
+                      (vector
+                       (if (and (symbolp value)
+                                (not (eq value 'unspecified)))
+                           "Yes"
+                         "")
+                       name-string
+                       (propertize value-string 'face `( :foreground ,color))
+                       (propertize value-string-padded 'face (list :background color
+                                                                   :foreground (if (string= color "unspecified")
+                                                                                   (readable-foreground-color (modus-themes-get-color-value 'bg-main nil theme))
+                                                                                 (readable-foreground-color color))))))))
+            palette)))
+
+(defvar modus-themes-current-preview nil)
+(defvar modus-themes-current-preview-show-mappings nil)
+
+(defun modus-themes--set-tabulated-entries ()
+  "Set the value of `tabulated-list-entries' with palette entries."
+  (setq-local tabulated-list-entries
+              (modus-themes--list-colors-tabulated modus-themes-current-preview modus-themes-current-preview-show-mappings)))
 
 (defun modus-themes-list-colors (theme &optional mappings)
-  "Preview named colors of the Modus THEME of choice.
-With optional prefix argument for MAPPINGS preview the semantic
-color mappings instead of the named colors."
-  (interactive (list (intern (modus-themes--list-colors-prompt)) current-prefix-arg))
-  (modus-themes--list-colors-render
-   (format (if mappings "*%s-list-mappings*" "*%s-list-colors*") theme)
-   theme
-   mappings))
+  "Preview the palette of the Modus THEME of choice.
+With optional prefix argument for MAPPINGS preview only the semantic
+color mappings instead of the complete palette."
+  (interactive
+   (let ((prompt (if current-prefix-arg
+                     "Preview palette mappings of THEME: "
+                   "Preview palette of THEME: ")))
+     (list
+      (modus-themes--select-prompt prompt)
+      current-prefix-arg)))
+  (let ((buffer (get-buffer-create (format (if mappings "*%s-list-mappings*" "*%s-list-all*") theme))))
+    (with-current-buffer buffer
+      (let ((modus-themes-current-preview theme)
+            (modus-themes-current-preview-show-mappings mappings))
+        (modus-themes-preview-mode)))
+    (pop-to-buffer buffer)))
 
 (defalias 'modus-themes-preview-colors 'modus-themes-list-colors
-  "Alias of `modus-themes-list-colors'.")
+  "Alias for `modus-themes-list-colors'.")
 
 (defun modus-themes-list-colors-current (&optional mappings)
-  "Call `modus-themes-list-colors' for the current Modus theme.
-Optional prefix argument MAPPINGS has the same meaning as for
-`modus-themes-list-colors'."
+  "Like `modus-themes-list-colors' with optional MAPPINGS for the current theme."
   (interactive "P")
   (modus-themes-list-colors (modus-themes--current-theme) mappings))
 
 (defalias 'modus-themes-preview-colors-current 'modus-themes-list-colors-current
-  "Alias of `modus-themes-list-colors-current'.")
+  "Alias for `modus-themes-list-colors-current'.")
+
+(define-derived-mode modus-themes-preview-mode tabulated-list-mode "Modus palette"
+  "Major mode to display a Modus themes palette."
+  :interactive nil
+  (setq-local tabulated-list-format
+              [("Mapping?" 10 t)
+               ("Symbol name" 30 t)
+               ("As foreground" 30 t)
+               ("As background" 0 t)])
+  (modus-themes--set-tabulated-entries)
+  (tabulated-list-init-header)
+  (tabulated-list-print))
 
 \f
 
@@ -1449,7 +1452,7 @@ color that is combined with FG-FOR-BG."
           :foreground fg
           :weight
           ;; If we have `bold' specifically, we inherit the face of
-          ;; the same name.  This allows the user to customize that
+          ;; the same name.  This allows the user to customise that
           ;; face, such as to change its font family.
           (if (and weight (not (eq weight 'bold)))
               weight
@@ -1670,6 +1673,7 @@ FG and BG are the main colors."
     `(tool-bar ((,c :background ,bg-dim :foreground ,fg-main)))
     `(vertical-border ((,c :foreground ,border)))
 ;;;;; basic and/or ungrouped styles
+    `(abbrev-table-name ((,c :inherit bold)))
     `(appt-notification ((,c :inherit bold :foreground ,modeline-err)))
     `(blink-matching-paren-offscreen ((,c :background ,bg-paren-match)))
     `(bold ((,c :weight bold)))
@@ -1720,6 +1724,25 @@ FG and BG are the main colors."
     `(link ((,c :inherit button)))
     `(link-visited ((,c :background ,bg-link-visited :foreground ,fg-link-visited :underline ,underline-link-visited)))
     `(tooltip ((,c :background ,bg-active :foreground ,fg-main)))
+;;;;; adoc-mode
+    `(adoc-code-face ((,c :inherit font-lock-constant-face)))
+    `(adoc-command-face ((,c :inherit modus-themes-prose-macro)))
+    `(adoc-complex-replacement-face ((,c :background ,bg-magenta-subtle :foreground ,magenta)))
+    `(adoc-emphasis-face ((t (:inherit bold))))
+    `(adoc-gen-face ((,c :foreground ,blue)))
+    `(adoc-meta-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata)))
+    `(adoc-meta-hide-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata)))
+    `(adoc-replacement-face ((,c :inherit font-lock-escape-face)))
+    `(adoc-secondary-text-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-metadata-value)))
+    `(adoc-table-face ((,c :inherit modus-themes-fixed-pitch :foreground ,prose-table)))
+    `(adoc-title-0-face ((,c :inherit modus-themes-heading-0)))
+    `(adoc-title-1-face ((,c :inherit modus-themes-heading-1)))
+    `(adoc-title-2-face ((,c :inherit modus-themes-heading-2)))
+    `(adoc-title-3-face ((,c :inherit modus-themes-heading-3)))
+    `(adoc-title-4-face ((,c :inherit modus-themes-heading-4)))
+    `(adoc-title-5-face ((,c :inherit modus-themes-heading-5)))
+    `(adoc-typewriter-face ((,c :inherit modus-themes-prose-verbatim)))
+    `(adoc-verbatim-face ((,c :inherit modus-themes-prose-verbatim)))
 ;;;;; agda2-mode
     `(agda2-highlight-bound-variable-face ((,c :inherit font-lock-variable-name-face)))
     `(agda2-highlight-catchall-clause-face ((,c :background ,bg-inactive)))
@@ -1849,13 +1872,14 @@ FG and BG are the main colors."
     `(TeX-error-description-warning ((,c :inherit warning)))
 ;;;;; auto-dim-other-buffers
     `(auto-dim-other-buffers-face ((,c :background ,bg-inactive)))
+    `(auto-dim-other-buffers-hide-face ((,c :foreground ,bg-inactive :background ,bg-inactive)))
 ;;;;; avy
     `(avy-background-face ((,c :background ,bg-dim :foreground ,fg-dim :extend t)))
-    `(avy-goto-char-timer-face ((,c :inherit bold :background ,bg-active)))
-    `(avy-lead-face ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-0)))
-    `(avy-lead-face-0 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-1)))
-    `(avy-lead-face-1 ((,c :inherit modus-themes-reset-soft :background ,bg-inactive)))
-    `(avy-lead-face-2 ((,c :inherit (bold modus-themes-reset-soft) :background ,bg-char-2)))
+    `(avy-goto-char-timer-face ((,c :inherit (bold modus-themes-search-lazy modus-themes-reset-soft))))
+    `(avy-lead-face ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+    `(avy-lead-face-0 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+    `(avy-lead-face-1 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
+    `(avy-lead-face-2 ((,c :inherit (bold modus-themes-search-current modus-themes-reset-soft))))
 ;;;;; aw (ace-window)
     `(aw-background-face ((,c :foreground "gray50")))
     `(aw-key-face ((,c :inherit modus-themes-key-binding)))
@@ -2028,8 +2052,8 @@ FG and BG are the main colors."
 ;;;;; corfu-candidate-overlay
     `(corfu-candidate-overlay-face ((t :inherit shadow)))
 ;;;;; corfu-quick
-    `(corfu-quick1 ((,c :inherit bold :background ,bg-char-0)))
-    `(corfu-quick2 ((,c :inherit bold :background ,bg-char-1)))
+    `(corfu-quick1 ((,c :inherit (bold modus-themes-search-current))))
+    `(corfu-quick2 ((,c :inherit (bold modus-themes-search-current))))
 ;;;;; counsel
     `(counsel-active-mode ((,c :foreground ,keyword)))
     `(counsel-application-name ((,c :foreground ,name)))
@@ -2518,10 +2542,10 @@ FG and BG are the main colors."
     `(geiser-font-lock-xref-link ((,c :inherit button)))
 ;;;;; git-commit
     `(git-commit-comment-action ((,c :inherit font-lock-comment-face)))
-    `(git-commit-comment-branch-local ((,c :inherit font-lock-comment-face :foreground ,accent-0)))
-    `(git-commit-comment-branch-remote ((,c :inherit font-lock-comment-face :foreground ,accent-1)))
+    `(git-commit-comment-branch-local ((,c :inherit (bold font-lock-comment-face) :foreground ,accent-0)))
+    `(git-commit-comment-branch-remote ((,c :inherit (bold font-lock-comment-face) :foreground ,accent-1)))
     `(git-commit-comment-heading ((,c :inherit (bold font-lock-comment-face))))
-    `(git-commit-comment-file ((,c :inherit font-lock-comment-face :foreground ,name)))
+    `(git-commit-comment-file ((,c :inherit font-lock-comment-face :foreground ,accent-2))) ; like `magit-filename'
     `(git-commit-keyword ((,c :foreground ,keyword)))
     `(git-commit-nonempty-second-line ((,c :inherit error)))
     `(git-commit-overlong-summary ((,c :inherit warning)))
@@ -2682,6 +2706,30 @@ FG and BG are the main colors."
     `(hl-fill-column-face ((,c :background ,bg-active)))
 ;;;;; hl-todo
     `(hl-todo ((,c :inherit (bold font-lock-comment-face) :foreground ,err)))
+;;;;; howm
+    `(action-lock-face ((,c :inherit button)))
+    `(howm-mode-keyword-face (( )))
+    `(howm-mode-ref-face ((,c :inherit link)))
+    `(howm-mode-title-face ((,c :inherit modus-themes-heading-0)))
+    `(howm-mode-wiki-face ((,c :inherit link)))
+    `(howm-reminder-deadline-face ((,c :foreground ,date-deadline)))
+    `(howm-reminder-late-deadline-face ((,c :inherit bold :foreground ,date-deadline)))
+    `(howm-reminder-defer-face ((,c :foreground ,date-scheduled)))
+    `(howm-reminder-scheduled-face ((,c :foreground ,date-scheduled)))
+    `(howm-reminder-done-face ((,c :foreground ,prose-done)))
+    `(howm-reminder-todo-face ((,c :foreground ,prose-todo)))
+    `(howm-reminder-normal-face ((,c :foreground ,date-common)))
+    `(howm-reminder-today-face ((,c :inherit bold :foreground ,date-common)))
+    `(howm-reminder-tomorrow-face ((,c :inherit bold :foreground ,date-scheduled)))
+    `(howm-simulate-todo-mode-line-face ((,c :inherit bold)))
+    `(howm-view-empty-face (( )))
+    `(howm-view-hilit-face ((,c :inherit match)))
+    `(howm-view-name-face ((,c :inherit bold)))
+    `(iigrep-counts-face1 ((,c :foreground ,rainbow-1)))
+    `(iigrep-counts-face2 ((,c :foreground ,rainbow-2)))
+    `(iigrep-counts-face3 ((,c :foreground ,rainbow-3)))
+    `(iigrep-counts-face4 ((,c :foreground ,rainbow-4)))
+    `(iigrep-counts-face5 ((,c :foreground ,rainbow-5)))
 ;;;;; hydra
     `(hydra-face-amaranth ((,c :inherit bold :foreground ,yellow-warmer)))
     `(hydra-face-blue ((,c :inherit bold :foreground ,blue)))
@@ -2695,14 +2743,16 @@ FG and BG are the main colors."
     `(ibut-face ((,c :inherit button :background ,bg-link-symbolic :foreground ,fg-link-symbolic :underline ,underline-link-symbolic)))
 ;;;;; icomplete
     `(icomplete-first-match ((,c :inherit modus-themes-completion-match-0)))
+    `(icomplete-vertical-selected-prefix-indicator-face ((,c :inherit bold :foreground ,keybind)))
+    `(icomplete-vertical-unselected-prefix-indicator-face ((,c :inherit shadow)))
     `(icomplete-selected-match ((,c :inherit modus-themes-completion-selected)))
 ;;;;; ido-mode
     `(ido-first-match ((,c :inherit modus-themes-completion-match-0)))
     `(ido-incomplete-regexp ((,c :inherit error)))
     `(ido-indicator ((,c :inherit bold)))
     `(ido-only-match ((,c :inherit ido-first-match)))
-    `(ido-subdir ((,c :foreground ,accent-0)))
-    `(ido-virtual ((,c :foreground ,accent-1)))
+    `(ido-subdir ((,c :foreground ,keyword)))
+    `(ido-virtual ((,c :foreground ,warning)))
 ;;;;; iedit
     `(iedit-occurrence ((,c :inherit modus-themes-search-lazy)))
     `(iedit-read-only-occurrence ((,c :inherit modus-themes-search-current)))
@@ -2803,19 +2853,19 @@ FG and BG are the main colors."
     `(ivy-minibuffer-match-face-4 ((,c :inherit modus-themes-completion-match-2)))
     `(ivy-remote ((,c :inherit italic)))
     `(ivy-separator ((,c :inherit shadow)))
-    `(ivy-subdir ((,c :foreground ,accent-0)))
-    `(ivy-virtual ((,c :foreground ,accent-1)))
+    `(ivy-subdir ((,c :foreground ,keyword)))
+    `(ivy-virtual ((,c :foreground ,warning)))
 ;;;;; ivy-posframe
     `(ivy-posframe-border ((,c :background ,border)))
     `(ivy-posframe-cursor ((,c :background ,fg-main :foreground ,bg-main)))
 ;;;;; jabber
     `(jabber-activity-face ((,c :foreground ,modeline-info)))
     `(jabber-roster-user-away ((,c :foreground ,red-faint)))
-    `(jabber-roster-user-xa ((,c :foreground ,magenta :slant italic)))
-    `(jabber-roster-user-dnd ((,c :foreground ,red :weight bold)))
+    `(jabber-roster-user-xa ((,c :foreground ,magenta :italic t)))
+    `(jabber-roster-user-dnd ((,c :foreground ,red :bold t)))
     `(jabber-roster-user-chatty ((,c :foreground ,cyan-intense)))
     `(jabber-roster-user-error ((,c :inherit error)))
-    `(jabber-roster-user-offline ((,c :foreground ,fg-dim :slant italic)))
+    `(jabber-roster-user-offline ((,c :foreground ,fg-dim :italic t)))
     `(jabber-roster-user-online ((,c :foreground ,cyan :weight bold)))
     `(jabber-chat-prompt-foreign ((,c :foreground ,red :weight bold)))
     `(jabber-chat-prompt-system ((,c :foreground ,green)))
@@ -3326,7 +3376,7 @@ FG and BG are the main colors."
     `(org-clock-overlay ((,c :inherit secondary-selection)))
     `(org-code ((,c :inherit modus-themes-prose-code)))
     `(org-column ((,c :inherit default :background ,bg-dim)))
-    `(org-column-title ((,c :inherit (bold default) :underline t :background ,bg-dim)))
+    `(org-column-title ((,c :inherit (modus-themes-fixed-pitch bold default) :underline t :background ,bg-dim)))
     `(org-date ((,c :inherit modus-themes-fixed-pitch :foreground ,date-common)))
     `(org-date-selected ((,c :foreground ,date-common :inverse-video t)))
     ;; NOTE 2024-03-17: Normally we do not want to add this padding
@@ -3706,6 +3756,9 @@ FG and BG are the main colors."
     `(smerge-refined-changed (()))
     `(smerge-refined-removed ((,c :inherit diff-refine-removed)))
     `(smerge-upper ((,c :inherit diff-removed)))
+;;;;; spacious-padding
+    `(spacious-padding-subtle-mode-line-active ((,c :foreground ,accent-0)))
+    `(spacious-padding-subtle-mode-line-inactive ((,c :foreground ,border)))
 ;;;;; speedbar
     `(speedbar-button-face ((,c :inherit button)))
     `(speedbar-directory-face ((,c :inherit bold :foreground ,accent-0)))
@@ -3812,6 +3865,13 @@ FG and BG are the main colors."
     `(term-underline ((,c :underline t)))
 ;;;;; textsec
     `(textsec-suspicious (( )))
+;;;;; tldr
+    `(tldr-code-block (( )))
+    `(tldr-command-argument ((,c :inherit font-lock-string-face)))
+    `(tldr-command-itself ((,c :inherit font-lock-builtin-face)))
+    `(tldr-description ((,c :inherit font-lock-doc-face)))
+    `(tldr-introduction ((,c :inherit font-lock-comment-face)))
+    `(tldr-title ((,c :inherit bold)))
 ;;;;; transient
     `(transient-active-infix ((,c :inherit highlight)))
     `(transient-amaranth ((,c :inherit bold :foreground ,yellow-warmer)))
@@ -3834,7 +3894,9 @@ FG and BG are the main colors."
     `(transient-key ((,c :inherit modus-themes-key-binding)))
     `(transient-key-exit ((,c :inherit modus-themes-key-binding)))
     `(transient-key-noop ((,c :inherit (shadow modus-themes-key-binding))))
+    `(transient-key-recurse ((,c :inherit modus-themes-key-binding)))
     `(transient-key-return ((,c :inherit modus-themes-key-binding)))
+    `(transient-key-stack ((,c :inherit modus-themes-key-binding)))
     `(transient-key-stay ((,c :inherit modus-themes-key-binding)))
     `(transient-mismatched-key ((,c :underline t)))
     `(transient-nonstandard-key ((,c :underline t)))
@@ -3851,6 +3913,39 @@ FG and BG are the main colors."
     `(trashed-mark ((,c :inherit bold)))
     `(trashed-marked ((,c :inherit modus-themes-mark-alt)))
     `(trashed-restored ((,c :inherit modus-themes-mark-sel)))
+;;;;; treemacs
+    `(treemacs-async-loading-face ((,c :foreground ,fg-main)))
+    `(treemacs-directory-face ((,c :foreground ,accent-0)))
+    `(treemacs-directory-collapsed-face ((,c :foreground ,accent-0)))
+    `(treemacs-file-face ((,c :foreground ,fg-main)))
+    `(treemacs-fringe-indicator-face ((,c :foreground ,fg-main)))
+    `(treemacs-git-added-face ((,c :inherit success)))
+    `(treemacs-git-commit-diff-face ((,c :foreground ,err)))
+    `(treemacs-git-conflict-face ((,c :inherit error)))
+    `(treemacs-git-ignored-face ((,c :inherit shadow)))
+    `(treemacs-git-modified-face ((,c :inherit warning)))
+    `(treemacs-git-renamed-face ((,c :inherit italic)))
+    `(treemacs-git-unmodified-face ((,c :foreground ,fg-main)))
+    `(treemacs-git-untracked-face ((,c :inherit success)))
+    `(treemacs-header-button-face ((,c :foreground ,fg-main)))
+    `(treemacs-help-column-face ((,c :inherit modus-themes-bold :foreground ,keyword)))
+    `(treemacs-help-title-face ((,c :foreground ,fg-main)))
+    `(treemacs-hl-line-face ((,c :background ,bg-hl-line :extend t)))
+    `(treemacs-marked-file-face ((,c :inherit modus-themes-mark-alt)))
+    `(treemacs-nerd-icons-face ((,c :foreground ,accent-0)))
+    `(treemacs-on-failure-pulse-face ((,c :foreground ,fg-main)))
+    `(treemacs-on-success-pulse-face ((,c :foreground ,fg-main)))
+    `(treemacs-peek-mode-indicator-face ((,c :foreground ,fg-main)))
+    `(treemacs-remote-face ((,c :foreground ,fg-main)))
+    `(treemacs-root-face ((,c :foreground ,accent-0)))
+    `(treemacs-root-remote-disconnected-face ((,c :inherit warning)))
+    `(treemacs-root-remote-unreadable-face ((,c :inherit warning)))
+    `(treemacs-root-unreadable-face ((,c :inherit error)))
+    `(treemacs-tags-face ((,c :foreground ,fg-main)))
+    `(treemacs-term-node-face ((,c :inherit modus-themes-bold :foreground ,keyword)))
+    `(treemacs-window-background-face ((,c :background ,bg-main)))
+    `(treemacs-nerd-icons-root-face ((,c :foreground ,accent-0)))
+    `(treemacs-nerd-icons-file-face ((,c :foreground ,accent-0)))
 ;;;;; tree-sitter
     `(tree-sitter-hl-face:attribute ((,c :inherit font-lock-variable-name-face)))
     `(tree-sitter-hl-face:constant.builtin ((,c :inherit tree-sitter-hl-face:constant)))
@@ -3930,8 +4025,8 @@ FG and BG are the main colors."
 ;;;;; vertico
     `(vertico-current ((,c :inherit modus-themes-completion-selected)))
 ;;;;; vertico-quick
-    `(vertico-quick1 ((,c :inherit bold :background ,bg-char-0)))
-    `(vertico-quick2 ((,c :inherit bold :background ,bg-char-1)))
+    `(vertico-quick1 ((,c :inherit (bold modus-themes-search-current))))
+    `(vertico-quick2 ((,c :inherit (bold modus-themes-search-current))))
 ;;;;; vimish-fold
     `(vimish-fold-fringe ((,c :foreground ,cyan)))
     `(vimish-fold-mouse-face ((,c :inherit modus-themes-intense-blue)))
@@ -3956,20 +4051,24 @@ FG and BG are the main colors."
     `(vr/match-1 ((,c :inherit modus-themes-search-lazy)))
     `(vr/match-separator-face ((,c :inherit bold :background ,bg-active)))
 ;;;;; vterm
-    ;; NOTE 2023-08-10: `vterm-color-black' and `vterm-color-white'
-    ;; use the "bright" semantic color mappings to make sure they are
-    ;; distinct from `vterm-color-default'.
     `(vterm-color-black ((,c :background ,bg-term-black :foreground ,fg-term-black)))
+    `(vterm-color-bright-black ((,c :background ,bg-term-black-bright :foreground ,fg-term-black-bright)))
+    `(vterm-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red)))
+    `(vterm-color-bright-red ((,c :background ,bg-term-red-bright :foreground ,fg-term-red-bright)))
+    `(vterm-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green)))
+    `(vterm-color-bright-green ((,c :background ,bg-term-green-bright :foreground ,fg-term-green-bright)))
+    `(vterm-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow)))
+    `(vterm-color-bright-yellow ((,c :background ,bg-term-yellow-bright :foreground ,fg-term-yellow-bright)))
     `(vterm-color-blue ((,c :background ,bg-term-blue :foreground ,fg-term-blue)))
+    `(vterm-color-bright-blue ((,c :background ,bg-term-blue-bright :foreground ,fg-term-blue-bright)))
+    `(vterm-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta)))
+    `(vterm-color-bright-magenta ((,c :background ,bg-term-magenta-bright :foreground ,fg-term-magenta-bright)))
     `(vterm-color-cyan ((,c :background ,bg-term-cyan :foreground ,fg-term-cyan)))
-    `(vterm-color-default ((,c :background ,bg-main :foreground ,fg-main)))
-    `(vterm-color-green ((,c :background ,bg-term-green :foreground ,fg-term-green)))
+    `(vterm-color-bright-cyan ((,c :background ,bg-term-cyan-bright :foreground ,fg-term-cyan-bright)))
+    `(vterm-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white)))
+    `(vterm-color-bright-white ((,c :background ,bg-term-white-bright :foreground ,fg-term-white-bright)))
     `(vterm-color-inverse-video ((,c :background ,bg-main :inverse-video t)))
-    `(vterm-color-magenta ((,c :background ,bg-term-magenta :foreground ,fg-term-magenta)))
-    `(vterm-color-red ((,c :background ,bg-term-red :foreground ,fg-term-red)))
     `(vterm-color-underline ((,c :underline t)))
-    `(vterm-color-white ((,c :background ,bg-term-white :foreground ,fg-term-white)))
-    `(vterm-color-yellow ((,c :background ,bg-term-yellow :foreground ,fg-term-yellow)))
 ;;;;; vundo
     `(vundo-default ((,c :inherit shadow)))
     `(vundo-highlight ((,c :inherit (bold vundo-node) :foreground ,red)))
index ec4a97ff43485306c9e319587122375d102ec765..676432f853149abd43e893f49a829c38c048e68e 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-vivendi-deuteranopia-theme.el --- Deuteranopia-optimized theme with a black background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -167,15 +167,11 @@ standard)."
 
       (bg-completion       "#2f447f")
       (bg-hover            "#45605e")
-      (bg-hover-secondary  "#654a39")
+      (bg-hover-secondary  "#604c30")
       (bg-hl-line          "#2f3849")
       (bg-region           "#5a5a5a")
       (fg-region           "#ffffff")
 
-      (bg-char-0 "#0050af")
-      (bg-char-1 "#7f1f7f")
-      (bg-char-2 "#625a00")
-
       (bg-mode-line-active        "#2a2a6a")
       (fg-mode-line-active        "#f0f0f0")
       (border-mode-line-active    "#8080a7")
@@ -216,13 +212,6 @@ standard)."
 
       (bg-diff-context    "#1a1a1a")
 
-;;; Paren match
-
-      (bg-paren-match        "#2f7f9f")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#453040")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -257,17 +246,17 @@ standard)."
 ;;;; Code mappings
 
       (bracket fg-main)
-      (builtin magenta-warmer)
+      (builtin yellow)
       (comment yellow-cooler)
-      (constant blue-cooler)
+      (constant blue-faint)
       (delimiter fg-main)
       (docmarkup magenta-faint)
       (docstring cyan-faint)
-      (fnname magenta)
-      (keyword magenta-cooler)
+      (fnname yellow-warmer)
+      (keyword blue-cooler)
       (number fg-main)
       (operator fg-main)
-      (preprocessor red-cooler)
+      (preprocessor magenta-cooler)
       (punctuation fg-main)
       (rx-backslash blue-cooler)
       (rx-construct yellow-cooler)
@@ -275,12 +264,19 @@ standard)."
       (type cyan-cooler)
       (variable cyan)
 
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-yellow-nuanced)
+
 ;;;; Accent mappings
 
-      (accent-0 blue-cooler)
+      (accent-0 blue-warmer)
       (accent-1 yellow)
       (accent-2 cyan-cooler)
-      (accent-3 magenta-warmer)
+      (accent-3 yellow-cooler)
 
 ;;;; Button mappings
 
@@ -294,7 +290,7 @@ standard)."
       (fg-completion-match-0 blue-cooler)
       (fg-completion-match-1 yellow)
       (fg-completion-match-2 cyan-cooler)
-      (fg-completion-match-3 magenta-warmer)
+      (fg-completion-match-3 yellow-cooler)
       (bg-completion-match-0 unspecified)
       (bg-completion-match-1 unspecified)
       (bg-completion-match-2 unspecified)
@@ -313,7 +309,7 @@ standard)."
       (date-scheduled yellow-cooler)
       (date-scheduled-subtle yellow-faint)
       (date-weekday cyan)
-      (date-weekend magenta)
+      (date-weekend magenta-cooler)
 
 ;;;; Line number mappings
 
@@ -374,7 +370,7 @@ standard)."
       (fg-prose-macro magenta-cooler)
 
       (bg-prose-verbatim unspecified)
-      (fg-prose-verbatim magenta-warmer)
+      (fg-prose-verbatim yellow)
 
       (prose-done blue)
       (prose-todo yellow-warmer)
@@ -385,7 +381,7 @@ standard)."
       (prose-table fg-alt)
       (prose-table-formula yellow-warmer)
 
-      (prose-tag magenta-faint)
+      (prose-tag fg-alt)
 
 ;;;; Rainbow mappings
 
@@ -403,7 +399,7 @@ standard)."
 
       (bg-search-current bg-yellow-intense)
       (bg-search-lazy bg-blue-intense)
-      (bg-search-replace bg-magenta-intense)
+      (bg-search-replace bg-yellow-intense)
 
       (bg-search-rx-group-0 bg-cyan-intense)
       (bg-search-rx-group-1 bg-magenta-intense)
@@ -464,10 +460,10 @@ standard)."
       (fg-heading-1 fg-main)
       (fg-heading-2 yellow-faint)
       (fg-heading-3 blue-faint)
-      (fg-heading-4 magenta)
-      (fg-heading-5 green-faint)
-      (fg-heading-6 red-faint)
-      (fg-heading-7 cyan-faint)
+      (fg-heading-4 green-faint)
+      (fg-heading-5 magenta-cooler)
+      (fg-heading-6 yellow-cooler)
+      (fg-heading-7 cyan)
       (fg-heading-8 fg-dim)
 
       (bg-heading-0 unspecified)
index 523e1586c3e36e508660fd80e968a5628e50ff1f..b613353ade7ee45354d5d58abe8f347202e233fd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-vivendi-theme.el --- Elegant, highly legible theme with a black background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -170,10 +170,6 @@ which corresponds to a minimum contrast in relative luminance of
       (bg-region           "#5a5a5a")
       (fg-region           "#ffffff")
 
-      (bg-char-0 "#0050af")
-      (bg-char-1 "#7f1f7f")
-      (bg-char-2 "#625a00")
-
       (bg-mode-line-active        "#505050")
       (fg-mode-line-active        "#ffffff")
       (border-mode-line-active    "#959595")
@@ -214,13 +210,6 @@ which corresponds to a minimum contrast in relative luminance of
 
       (bg-diff-context    "#1a1a1a")
 
-;;; Paren match
-
-      (bg-paren-match        "#2f7f9f")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#453040")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -273,6 +262,13 @@ which corresponds to a minimum contrast in relative luminance of
       (type cyan-cooler)
       (variable cyan)
 
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-yellow-nuanced)
+
 ;;;; Accent mappings
 
       (accent-0 blue-cooler)
index 03fb25edd025d99e07259874f85b6b6a92ceed1f..ba186fc9f8f0c324360955c4a5062d92b9b390f2 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-vivendi-tinted-theme.el --- Elegant, highly legible theme with a night sky background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -71,11 +71,11 @@ which corresponds to a minimum contrast in relative luminance of
       (red             "#ff5f59")
       (red-warmer      "#ff6b55")
       (red-cooler      "#ff7f86")
-      (red-faint       "#ff9f80")
+      (red-faint       "#ef8386")
       (red-intense     "#ff5f5f")
       (green           "#44bc44")
-      (green-warmer    "#70b900")
-      (green-cooler    "#00c06f")
+      (green-warmer    "#75c13e")
+      (green-cooler    "#11c777")
       (green-faint     "#88ca9f")
       (green-intense   "#44df44")
       (yellow          "#d0bc00")
@@ -165,15 +165,11 @@ which corresponds to a minimum contrast in relative luminance of
 
       (bg-completion       "#483d8a")
       (bg-hover            "#45605e")
-      (bg-hover-secondary  "#654a39")
+      (bg-hover-secondary  "#64404f")
       (bg-hl-line          "#303a6f")
       (bg-region           "#555a66")
       (fg-region           "#ffffff")
 
-      (bg-char-0 "#0050af")
-      (bg-char-1 "#7f1f7f")
-      (bg-char-2 "#625a00")
-
       (bg-mode-line-active        "#484d67")
       (fg-mode-line-active        "#ffffff")
       (border-mode-line-active    "#979797")
@@ -214,13 +210,6 @@ which corresponds to a minimum contrast in relative luminance of
 
       (bg-diff-context    "#1a1f30")
 
-;;; Paren match
-
-      (bg-paren-match        "#5f789f")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#453040")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -233,8 +222,8 @@ which corresponds to a minimum contrast in relative luminance of
       (identifier yellow-faint)
 
       (err red)
-      (warning yellow-warmer)
-      (info cyan-cooler)
+      (warning yellow)
+      (info green-cooler)
 
       (underline-err red-intense)
       (underline-warning yellow)
@@ -255,30 +244,37 @@ which corresponds to a minimum contrast in relative luminance of
 ;;;; Code mappings
 
       (bracket fg-main)
-      (builtin magenta-warmer)
+      (builtin magenta)
       (comment red-faint)
-      (constant blue-cooler)
+      (constant magenta-cooler)
       (delimiter fg-main)
       (docmarkup magenta-faint)
       (docstring cyan-faint)
-      (fnname magenta)
-      (keyword magenta-cooler)
+      (fnname magenta-warmer)
+      (keyword blue-warmer)
       (number fg-main)
       (operator fg-main)
       (preprocessor red-cooler)
       (punctuation fg-main)
-      (rx-backslash magenta)
-      (rx-construct green-cooler)
-      (string blue-warmer)
-      (type cyan-cooler)
-      (variable cyan)
+      (rx-backslash magenta-warmer)
+      (rx-construct magenta-cooler)
+      (string blue)
+      (type green-cooler)
+      (variable cyan-warmer)
+
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-yellow-nuanced)
 
 ;;;; Accent mappings
 
-      (accent-0 blue-cooler)
-      (accent-1 magenta-warmer)
-      (accent-2 cyan-cooler)
-      (accent-3 yellow)
+      (accent-0 magenta-cooler)
+      (accent-1 cyan)
+      (accent-2 magenta-warmer)
+      (accent-3 yellow-warmer)
 
 ;;;; Button mappings
 
@@ -336,14 +332,14 @@ which corresponds to a minimum contrast in relative luminance of
 
 ;;;; Mail mappings
 
-      (mail-cite-0 blue-warmer)
+      (mail-cite-0 blue)
       (mail-cite-1 yellow-cooler)
       (mail-cite-2 cyan-cooler)
       (mail-cite-3 red-cooler)
-      (mail-part blue)
-      (mail-recipient magenta-cooler)
+      (mail-part magenta-cooler)
+      (mail-recipient blue-warmer)
       (mail-subject magenta-warmer)
-      (mail-other magenta-faint)
+      (mail-other magenta)
 
 ;;;; Mark mappings
 
@@ -356,7 +352,7 @@ which corresponds to a minimum contrast in relative luminance of
 
 ;;;; Prompt mappings
 
-      (fg-prompt cyan-cooler)
+      (fg-prompt cyan-warmer)
       (bg-prompt unspecified)
 
 ;;;; Prose mappings
index a06f8e04cb9f2f9c5ed6813863daa1470f6f1310..7929c69e31ba928f66ce3d0aea81378b56dfdcbd 100644 (file)
@@ -1,6 +1,6 @@
 ;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a black background -*- lexical-binding:t -*-
 
-;; Copyright (C) 2019-2025 Free Software Foundation, Inc.
+;; Copyright (C) 2019-2025  Free Software Foundation, Inc.
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
@@ -63,7 +63,7 @@ standard)."
       (bg-dim           "#1e1e1e")
       (fg-main          "#ffffff")
       (fg-dim           "#989898")
-      (fg-alt           "#c6daff")
+      (fg-alt           "#a0d7f2")
       (bg-active        "#535353")
       (bg-inactive      "#303030")
       (border           "#646464")
@@ -167,15 +167,11 @@ standard)."
 
       (bg-completion       "#004253")
       (bg-hover            "#8e3e3b")
-      (bg-hover-secondary  "#00405f")
+      (bg-hover-secondary  "#204853")
       (bg-hl-line          "#2f3849")
       (bg-region           "#5a5a5a")
       (fg-region           "#ffffff")
 
-      (bg-char-0 "#922a00")
-      (bg-char-1 "#00709f")
-      (bg-char-2 "#5f3faf")
-
       (bg-mode-line-active        "#003c52")
       (fg-mode-line-active        "#f0f0f0")
       (border-mode-line-active    "#5f8fb4")
@@ -216,13 +212,6 @@ standard)."
 
       (bg-diff-context    "#1a1a1a")
 
-;;; Paren match
-
-      (bg-paren-match        "#2f7f9f")
-      (fg-paren-match        fg-main)
-      (bg-paren-expression   "#453040")
-      (underline-paren-match unspecified)
-
 ;;; Mappings
 
 ;;;; General mappings
@@ -275,6 +264,13 @@ standard)."
       (type blue-warmer)
       (variable cyan-cooler)
 
+;;;; Paren match
+
+      (bg-paren-match        bg-cyan-subtle)
+      (fg-paren-match        fg-main)
+      (underline-paren-match unspecified)
+      (bg-paren-expression   bg-red-nuanced)
+
 ;;;; Accent mappings
 
       (accent-0 cyan)
@@ -385,7 +381,7 @@ standard)."
       (prose-table fg-alt)
       (prose-table-formula red-cooler)
 
-      (prose-tag magenta-faint)
+      (prose-tag fg-alt)
 
 ;;;; Rainbow mappings