emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/modus-vivendi-theme b94329f 73/73: Merge 'master' into


From: Stefan Monnier
Subject: [elpa] externals/modus-vivendi-theme b94329f 73/73: Merge 'master' into elpa/modus-vivendi-theme
Date: Wed, 26 Aug 2020 09:21:06 -0400 (EDT)

branch: externals/modus-vivendi-theme
commit b94329ff018598ecb73a24d7cad829b8364986ac
Merge: 43ece5e 67554a6
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Merge 'master' into elpa/modus-vivendi-theme
---
 CHANGELOG.org          | 386 ++++++++++++++++++++++++++---
 README.org             | 439 +++++++++++++++++++--------------
 modus-vivendi-theme.el | 639 +++++++++++++++++++++++++++++++++++--------------
 3 files changed, 1079 insertions(+), 385 deletions(-)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 40bd2dd..439b080 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -4,10 +4,313 @@
 
 This document contains the release notes that are included in each
 tagged commit on https://gitlab.com/protesilaos/modus-themes.  The
-newest release is at the top.
+newest release is at the top.  Since the notes are meant to be plain
+text, I copy them verbatim.
+
+* 0.12.0
+
+#+begin_src text
+Modus Operandi and Modus Vivendi version 0.12.0
+
+By Protesilaos Stavrou <info@protesilaos.com> on 2020-08-26
+
+This entry documents the set of changes since version 0.11.0
+(2020-07-31).  There have been around 70 commits in the meatime, though
+the sheer number may obfuscate the fact that a lot of work has gone into
+this release.
+
+As always, every change described here conforms with the accessibility
+objective of the themes for a minimum 7:1 contrast ratio between
+background and foreground values in their given combinations
+(conformance with the WCAG AAA standard).
+
+New customisation options
+=========================
+
+1 Completion Frameworks
+-----------------------
+
+The star of the show has to be the new option that refashions the
+aesthetics of completion UIs: Helm, Icomplete, Ido, Ivy, Sallet,
+Selectrum.  The 'modus-operandi-theme-completions' and
+'modus-vivendi-theme-completions' accept the following symbols:
+
++ nil (default)
++ moderate
++ opinionated
+
+Nil means that the overall presentation of the UI follows the patterns
+established by its own source code.  For example, Ivy uses four distinct
+background and foreground combinations of accented colours to highlight
+the matching groups.  A grey background is added to denote the implicit
+match between those groups.  So we choose to respect this metaphor,
+while applying colours that conform with the accessibility goal of our
+project.  Whereas Icomplete or Ido use subtle styles to present their
+results.  Again, we remain faithful to their presentation.
+
+With 'moderate', we apply nuanced background and foreground combinations
+of accented colour values.  This will slightly tone down Helm, Ivy,
+Sallet, Selectrum, while it will slightly adjust the looks of Icomplete
+and Ido.
+
+Whereas 'opinionated' has a more pronounced effect on the overall
+aesthetics of the UI.  For the likes of Icomplete and Ido which are
+subtle by default, this option will use intense combinations of
+background and foreground colours.  They are the diametric opposite of
+the nil value.  Whereas Helm, Ivy, Sallet, Selectrum, will use even more
+subtle colours.  Again, they are farther away than their default looks.
+
+These new options supersede the now-deprecated and more limited in scope
+variables of prior releases:
+
++ modus-operandi-theme-intense-standard-completions
++ modus-vivendi-theme-intense-standard-completions
+
+Thanks to the following people for their valuable feedback in issue 75:
+https://gitlab.com/protesilaos/modus-themes/-/issues/75
+
++ Anders Johansson
++ Manuel Uberti
++ Shreyas Ragavan
+
+2 Prompts
+---------
+
+The 'modus-operandi-theme-prompts' and modus-vivendi-theme-prompts' will
+change the overall looks of minibuffer and shell prompts ('M-x shell' as
+well as 'M-x eshell').  Their possible values are:
+
++ nil (default)
++ subtle
++ intense
+
+Nil will only use a coloured foreground for the prompts' text.  Simple
+and effective.
+
+With 'subtle', the default foreground value is retained but is now
+complemented by an appropriately tinted background.  The effect is more
+noticeable than the default, though not by much.
+
+While 'intense' applies a coloured background and foreground combination
+that should clearly stand out from the rest of the context.
+
+Thanks to Manuel Uberti for sharing feedback in issue 74:
+https://gitlab.com/protesilaos/modus-themes/-/issues/74
+
+3 Fringe visibility
+-------------------
+
+A new pair of symbols supersedes older variables:
+
++ modus-operandi-theme-visible-fringes ==> modus-operandi-theme-fringes
++ modus-vivendi-theme-visible-fringes  ==> modus-vivendi-theme-fringes
+
+While the deprecated options were booleans, the current ones offer a
+choice between the following:
+
++ nil (default)
++ subtle
++ intense
+
+Nil means that the fringes have no distinct background of their own.
+They still exist per the settings of 'fringe-mode', but can only be
+discerned by tracking the negative space between the frame's or window's
+edge and the buffer's effective boundaries.
+
+The 'subtle' value will apply a greyscale background that is fairly
+close to the default main background (pure white/black).  The fringes
+are now visible.
+
+As its name implies, 'intense' has a more pronounced effect than the
+other values.  It also uses a greyscale background.
+
+Review of already supported faces and colours
+=============================================
+
+1 Magit blame styles
+--------------------
+
+The headers that Magit's blame interface produces were difficult to tell
+apart from their context.  A set of carefully selected colours now makes
+sure that they are always distinct.  Some subtle background values are
+used, in addition to other typographic elements.
+
+Thanks to Damien Cassou for reporting this problem and for providing
+valuable feedback that informed the final design.  Refer to issue 71:
+https://gitlab.com/protesilaos/modus-themes/-/issues/71
+
+2 Paren match colours
+---------------------
+
+The face that highlights the matching delimiter when 'show-paren-mode'
+(or equivalent) is enabled uses two dedicated colours, whose names are:
+'bg-paren-match' and 'bg-paren-match-intense'.  Those have been reviewed
+to make them more obvious in various contexts and to improve their
+overall consistency.
+
+A report with relative contrast ratios is available on my website:
+https://protesilaos.com/codelog/2020-08-09-modus-themes-paren-match/
+
+I benefited from valuable feedback from Shreyas Ragavan in issue 70:
+https://gitlab.com/protesilaos/modus-themes/-/issues/70
+
+3 Mu4e faces
+------------
+
+Some faces were tweaked to make it easier to distinguish replied,
+forwarded, and draft messages from other headers.  The changes are
+fairly small in scope, but the effect should be that of an overall
+improvement.
+
+Thanks to Shreyas Ragavan for noticing these inconsistencies and for
+their continued participation in addressing them.  See issue 69:
+https://gitlab.com/protesilaos/modus-themes/-/issues/69
+
+4 Notmuch message headings
+--------------------------
+
+A couple of inconsistencies with how notmuch would style email addresses
+and folded messages were addressed.  The generic 'italic' face was also
+tweaked in the process, removing the foreground it would falsely define.
+
+Thanks to Damien Cassou for bringing these to my attention in issue 72:
+https://gitlab.com/protesilaos/modus-themes/-/issues/72
+
+5 hl-todo
+---------
+
+Let the special keywords of 'hl-todo-mode' use an optional slant, just
+like code comments do.  This is to ensure that they feel part of their
+context.
+
+6 Magit general interface
+-------------------------
+
+Several faces were reviewed in the interest of colour harmony and to
+address potential inconsistencies or exaggerations.  The most noticeable
+change pertains to the log views, as we now use fewer accent values,
+reducing whatever unnecessary "rainbow effect" may have existed.
+
+7 VC commit logs
+----------------
+
+The presentation of 'vc-print-log' and 'vc-print-root-log' has been
+reviewed to reduce the stark contrast between the colours it once used.
+While the elements remain distinct, the differences between them are
+more subtle, which is preferable when viewing long lists of
+similar-looking patterns.
+
+8 Powerline
+-----------
+
+The active and inactive minibuffers now use appropriate accented
+backgrounds or foregrounds for some of their elements.  This makes them
+better for their intended function.
+
+Thanks to Shreyas Ragavan and tycho garen for their feedback in issue
+73, which was actually about adding support for Spaceline.  It uses
+Powerline as its dependency, so we eventually had to accommodate both of
+them: https://gitlab.com/protesilaos/modus-themes/-/issues/73
+
+Shreyas also helped by adding a short note in the README which informs
+users of those two packages on how to tweak things when conducting tests
+or changing themes.  See merge requests 9 and 10:
+
++ https://gitlab.com/protesilaos/modus-themes/-/merge_requests/9
++ https://gitlab.com/protesilaos/modus-themes/-/merge_requests/10
+
+9 Latex sectioning
+------------------
+
+The themes will no longer affect the height of the Latex sectioning
+faces.  This is because there already exists a variable that scales them
+accordingly.
+
+Thanks to Anders Johansson for providing insights in issue 77:
+https://gitlab.com/protesilaos/modus-themes/-/issues/77
+
+10 Transient pop-up menu
+------------------------
+
+Extended support for its new colour-coded faces that follow in the
+footsteps of the 'hydra' package for visual semantics.
+
+11 Miscellaneous
+----------------
+
+The following faces were refined:
+
++ 'org-formula' inherits from 'fixed-pitch' to ensure that it does not
+  break table layouts when the user opts for a mixed-font setup (such as
+  with 'M-x variable-pitch-mode').
+
++ 'bongo-elapsed-track-part' uses a more appropriate accented
+  background.
+
++ 'symbol-overlay-default-face' is less intense than before.  This is in
+  response to feedback I received from Manuel Uberti as an aside in
+  issue 75: https://gitlab.com/protesilaos/modus-themes/-/issues/75
+
++ 'rectangle-preview' uses a slightly accented background, which
+  distinguishes it from the highlighted region.  This is to denote a
+  different state where the user is typing in some text.
+
++ 'diff-hl-change' now uses the more appropriate yellow colour instead
+  of blue.  Yellow denotes "mixed changes" and, therefore, stands
+  between "removed" (red) and "added" (green).  As it so happens, yellow
+  is a colour that derives by mixing red with green.
+
+New packages
+============
+
+The following are now explicitly supported by the themes:
+
++ org-table-sticky-header
++ pkgbuild-mode
++ semantic
++ spaceline
+
+More faces or face groups that are defined:
+
++ git-rebase (magit)
++ doom-modeline-debug-visual
++ file-name-shadow
++ the faces used by Emacs 27's 'display-line-numbers-major-tick' and
+  'display-line-numbers-minor-tick'
++ table-cell
+
+Final notes
+===========
+
+There now exists an HTML version of the README, which will hopefully
+make things easier for users: https://protesilaos.com/modus-themes/
+
+Other changes are not user-facing.  For example, using 'pcase' instead
+of 'cond' to make relevant expressions more succinct.  Or defining a
+coloured underline in a more straightforward way.  No need to document
+them at length.
+
+While this release introduces customisation options, it feels as though
+the themes are approaching a stable state.  We know what works, we have
+a comprehensive colour palette that can meet our evolving needs, and we
+have already achieved broad package/face coverage.  All while conforming
+with the overarching objective of this project for a minimum 7:1
+contrast ratio between background and foreground values in any given
+combination we specify.
+
+I wish to thank everyone who has helped me by testing things and sharing
+their thoughts.  The people already mentioned herein:
+
+- Anders Johansson (https://gitlab.com/andersjohansson)
+- Damien Cassou (https://gitlab.com/DamienCassou)
+- Manuel Uberti (https://gitlab.com/muberti)
+- Shreyas Ragavan (https://gitlab.com/shrysr)
+- tycho garen (https://gitlab.com/tychoish)
+#+end_src
 
 * 0.11.0
 
+#+begin_src text
 Modus Operandi and Modus Vivendi version 0.11.0
 
 By Protesilaos Stavrou <info@protesilaos.com> on 2020-07-31
@@ -264,9 +567,11 @@ Thanks to, in no particular order:
 
 Refer to the issue tracker (or commit log) for further details:
 https://gitlab.com/protesilaos/modus-themes/-/issues
+#+end_src
 
 * 0.10.0
 
+#+begin_src text
 Modus Operandi and Modus Vivendi version 0.10.0
 
 By Protesilaos Stavrou <info@protesilaos.com> on 2020-06-24
@@ -381,9 +686,11 @@ Other internal refinements
   support of the faces used in the built-in Emacs info pages.
 
 My thanks to Basil and André for their contributions!
+#+end_src
 
 * 0.9.0
 
+#+begin_src text
 Modus Operandi and Modus Vivendi version 0.9.0
 
 By Protesilaos Stavrou <info@protesilaos.com> on 2020-06-03
@@ -534,9 +841,11 @@ Added support for
 + nxml-mode
 + vdiff
 + yasnippet
+#+end_src
 
 * 0.8.0
 
+#+begin_src text
 Modus Operandi and Modus Vivendi version 0.8.0
 
 By Protesilaos Stavrou <info@protesilaos.com> on 2020-04-28
@@ -703,9 +1012,11 @@ Miscellaneous changes and concluding remarks
 
 + Updated the screen shots and their description in the relevant Wiki
   page: https://gitlab.com/protesilaos/modus-themes/-/wikis/Screenshots
+#+end_src
 
 * 0.7.0
 
+#+begin_src text
 Modus Operandi and Modus Vivendi version 0.7.0
 
 By Protesilaos Stavrou <info@protesilaos.com> on 2020-03-30
@@ -931,9 +1242,11 @@ Note: both patches were small, requiring no copyright 
assignment.
 Larger contributions are always welcome, though make sure you read the
 section in the README with regard to assigning copyright to the Free
 Software Foundation.
+#+end_src
 
 * 0.6.0
 
+#+begin_src text
 This release contains lots of refinements and additions.
 
 Let me start with an administrative point: I have completed the process
@@ -1027,9 +1340,11 @@ There were also a few minor refinements for:
 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.
+#+end_src
 
 * 0.5.0
 
+#+begin_src text
 This release contains support for several new packages and lots of
 refinements for existing ones.  A lot of work went into making the
 themes more robust by reviewing the inheritance of styles from one
@@ -1107,9 +1422,11 @@ Refinements:
   with other search metaphors.
 + Emacs 27's new ':extend' property is only implemented where
   necessary (note that the latest release is version 26.3).
+#+end_src
 
 * 0.4.0
 
+#+begin_src text
 This is an overview of the changes since version 0.3.0 (2019-12-25).
 
 Add support for:
@@ -1155,67 +1472,71 @@ Miscellaneous:
       the need to provide greater contrast between accent values that
       can be used there.
        + Minor documentation refinements.
+#+end_src
 
 * 0.3.0
 
+#+begin_src text
 Overview of changes since 0.2.0 (2019-12-18):
 
 + Add support for the following packages:
 
-  * apt-sources-list
-  * calfw
-  * counsel-css
-  * counsel-notmuch
-  * counsel-org-capture-string
-  * cov
-  * disk-usage
-  * evil-visual-mark-mode
-  * geiser
-  * keycast
-  * org-journal
-  * org-noter
-  * paren-face
-  * powerline
-  * vc
-  * xah-elisp-mode
+  + apt-sources-list
+  + calfw
+  + counsel-css
+  + counsel-notmuch
+  + counsel-org-capture-string
+  + cov
+  + disk-usage
+  + evil-visual-mark-mode
+  + geiser
+  + keycast
+  + org-journal
+  + org-noter
+  + paren-face
+  + powerline
+  + vc
+  + xah-elisp-mode
 
 + Explicitly style the following packages (these were already covered,
   in terms of the colours they used, but are now targeted directly):
 
-  * calendar
-  * counsel
-  * cursor
-  * package (M-x list-packages)
+  + calendar
+  + counsel
+  + cursor
+  + package (M-x list-packages)
 
 + Minor tweaks to face groups:
 
-  * dired
-  * compile
+  + dired
+  + compile
 
 + Fixes and refinements:
 
-  * Documentation strings will now inherit the option for slanted
+  + Documentation strings will now inherit the option for slanted
     constructs (off by default -- see the README about all the user
     options).
-  * Comment delimiters have the same styles as the body of the comment
+  + Comment delimiters have the same styles as the body of the comment
     to avoid inconsistencies when the option for slanted constructs is
     enabled.
-  * The line number that is displayed in the compile log is now
+  + The line number that is displayed in the compile log is now
     correctly styled.
-  * Removed duplicate entries for ivy-remote and added ivy-separator.
-  * Ensure that the minibuffer prompt is always above the minimum
+  + Removed duplicate entries for ivy-remote and added ivy-separator.
+  + Ensure that the minibuffer prompt is always above the minimum
     contrast ratio of 7:1, by using a more appropriate shade of cyan.
-  * Properly reference a couple of variables in Modus Vivendi.
+  + Properly reference a couple of variables in Modus Vivendi.
 
 + Internal adjustments:
 
-  * Decouple the core dired faces from those of external packages.
-  * Same for org and org-recur.
+  + Decouple the core dired faces from those of external packages.
+  + Same for org and org-recur.
 
 + Minor documentation updates.
+#+end_src
 
 * 0.2.0
 
+#+begin_src text
 Overview of changes since 0.1.0 (2019-12-09):
 
 + Comprehensive review of `org-mode' faces.  The use of colour should
@@ -1242,7 +1563,10 @@ contrast between the elements.
   + `evil-mode'
   + `evil-goggles'
   + `ruler-mode'
+#+end_src
 
 * 0.1.0
 
+#+begin_src text
 First stable release of Modus Operandi and Modus Vivendi.
+#+end_src
diff --git a/README.org b/README.org
index 4972a15..fd477bb 100644
--- a/README.org
+++ b/README.org
@@ -1,11 +1,19 @@
 #+TITLE: Modus Themes for GNU Emacs
 #+AUTHOR: Protesilaos Stavrou
 #+EMAIL: public@protesilaos.com
+#+OPTIONS: toc:nil
+
++ README HTML version on my website :: 
[[https://protesilaos.com/modus-themes][https://protesilaos.com/modus-themes]]
++ Git repo :: 
[[https://gitlab.com/protesilaos/modus-themes/][https://gitlab.com/protesilaos/modus-themes/]]
+
+-----
+
+#+TOC: headlines 8 insert TOC here, with eight headline levels
 
 * Overview
-  :PROPERTIES:
-  :CUSTOM_ID: h:d42d56a4-9252-4858-ac8e-3306cdd24e19
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:d42d56a4-9252-4858-ac8e-3306cdd24e19
+:END:
 
 This is a set of accessible themes for GNU Emacs.  The contrast ratio
 between foreground and background values should always be >= 7:1, which
@@ -21,9 +29,9 @@ different than their default austere aesthetic.  Make sure to 
read the
 section on the [[#h:d414ca47-6dce-4905-9f2e-de1465bf23bb][customisation 
options]].
 
 ** Links with demo content
-   :PROPERTIES:
-   :CUSTOM_ID: h:3b1b8ad9-f08f-4329-b9ee-d817b610708f
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:3b1b8ad9-f08f-4329-b9ee-d817b610708f
+:END:
 
 Check the 
[[https://gitlab.com/protesilaos/modus-themes/wikis/Screenshots][Wiki page with 
the screen shots]].  There are lots of scenaria
 on display that draw attention to details and important aspects in the
@@ -34,14 +42,14 @@ Also note that I use these themes in 
[[https://protesilaos.com/code-casts][my Em
 (although older videos contain earlier, "alpha" versions).
 
 * Install and auto-load
-  :PROPERTIES:
-  :CUSTOM_ID: h:25c3ecd3-8025-414c-9b96-e4d6266c6fe8
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:25c3ecd3-8025-414c-9b96-e4d6266c6fe8
+:END:
 
 ** Install the packages
-   :PROPERTIES:
-   :CUSTOM_ID: h:c3e293e8-8464-4196-aefd-184027116ded
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:c3e293e8-8464-4196-aefd-184027116ded
+:END:
 
 I maintain /Modus Operandi/ (light theme) and /Modus Vivendi/ (dark) as
 standalone packages in Emacs-specific archives: GNU ELPA, MELPA, and
@@ -72,9 +80,9 @@ To be clear, that sequence means:
 available.
 
 *** With the "use-package" configuration manager
-    :PROPERTIES:
-    :CUSTOM_ID: h:3ab0ac39-38fb-405b-8a15-771cbd843b6d
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:3ab0ac39-38fb-405b-8a15-771cbd843b6d
+:END:
 
 For a declarative approach with =use-package= and the built-in =package.el=,
 you can write something like this (also see 
[[#h:d414ca47-6dce-4905-9f2e-de1465bf23bb][the customisation options]]
@@ -87,22 +95,22 @@ for how to expand these package declarations):
 #+END_SRC
 
 *** GNU/Linux distro packages
-    :PROPERTIES:
-    :CUSTOM_ID: h:f696763b-5db1-4717-a90a-964e127d1a73
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:f696763b-5db1-4717-a90a-964e127d1a73
+:END:
 
 The themes are also available from the archives of some GNU/Linux
 distributions.  These should correspond to a tagged release rather than
 building directly from the latest Git commit.  It all depends on the
 distro's packaging policies.
 
-/Note for package maintainers:/ Feel free to 
[[#h:f696763b-5db1-4717-a90a-964e127d1a73][contact me]] for any questions
+/Note for package maintainers:/ Feel free to 
[[https://protesilaos.com/contact/][contact me]] for any questions
 you may have and/or to update this section.
 
 **** Debian ("Sid" or "Unstable")
-     :PROPERTIES:
-     :CUSTOM_ID: h:a3d891ff-3dc3-4455-a482-b251e59bb21a
-     :END:
+:PROPERTIES:
+:CUSTOM_ID: h:a3d891ff-3dc3-4455-a482-b251e59bb21a
+:END:
 
 The two themes are distributed as 
[[https://packages.debian.org/sid/elpa-modus-themes][a single package for 
Debian]] and its
 derivatives.  Currently in the unstable suite and should be available in
@@ -118,9 +126,9 @@ Special thanks to package maintainer Dhavan Vaidya and the 
rest of the
 Debian Emacsen team!
 
 **** GNU Guix
-     :PROPERTIES:
-     :CUSTOM_ID: h:fea43d19-b307-46d7-81ab-d0e77e9cbede
-     :END:
+:PROPERTIES:
+:CUSTOM_ID: h:fea43d19-b307-46d7-81ab-d0e77e9cbede
+:END:
 
 Users of either GuixSD (the distro) or just Guix (the package manager)
 can get each theme as a standalone package.
@@ -139,9 +147,9 @@ I do not know who the package maintainer is, but I wish to 
thank you
 regardless!
 
 *** Manual installation method
-    :PROPERTIES:
-    :CUSTOM_ID: h:0317c29a-3ddb-4a0a-8ffd-16c781733ea2
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:0317c29a-3ddb-4a0a-8ffd-16c781733ea2
+:END:
 
 Download the files in this repository ending in =*-theme.el= and place
 them in an appropriate directory, such as =~/.emacs.d/themes/=.  To make
@@ -153,9 +161,9 @@ following in your initialisation file:
 #+END_SRC
 
 ** Load automatically
-   :PROPERTIES:
-   :CUSTOM_ID: h:ae978e05-526f-4509-a007-44a0925b8bce
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:ae978e05-526f-4509-a007-44a0925b8bce
+:END:
 
 To load the theme from your Emacs initialisation file use the relevant
 snippet:
@@ -169,9 +177,9 @@ Make sure to /remove any other theme/ that is being loaded, 
otherwise you
 might run into unexpected issues (you can also =M-x disable-theme=).
 
 *** Load at a given time or at sunset/sunrise
-    :PROPERTIES:
-    :CUSTOM_ID: h:4e936e31-e9eb-4b50-8fdd-45d827a03cca
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:4e936e31-e9eb-4b50-8fdd-45d827a03cca
+:END:
 
 This is a neat trick contributed by 
[[https://www.reddit.com/r/emacs/comments/gdtqov/weekly_tipstricketc_thread/fq9186h/][b3n
 on r/emacs]].  It will select the
 appropriate theme based on the time of the day and it will also switch
@@ -215,9 +223,9 @@ does not enable the theme directly: the subsequent 
=enable-theme= does
 that when needed.
 
 * Customisation options
-  :PROPERTIES:
-  :CUSTOM_ID: h:d414ca47-6dce-4905-9f2e-de1465bf23bb
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:d414ca47-6dce-4905-9f2e-de1465bf23bb
+:END:
 
 Both of the Modus themes expose variables that allow users to tweak how
 certain styles are configured.  Check the 
[[https://gitlab.com/protesilaos/modus-themes/wikis/Screenshots][Wiki with the 
screen shots]] to
@@ -250,9 +258,9 @@ Consult the section below with the 
[[#h:0e3b8a62-8d72-4439-be2d-cb12ed98f4cb][co
 fully fledged =use-package= declaration.
 
 ** Option for "greyscale" or "rainbow" Org blocks
-   :PROPERTIES:
-   :CUSTOM_ID: h:ca57a3af-6f79-4530-88c0-e35eda9d3bf7
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:ca57a3af-6f79-4530-88c0-e35eda9d3bf7
+:END:
 
 Symbol names:
 
@@ -286,9 +294,9 @@ major-mode so that the colours are applied properly: =M-x 
org-mode= to
 refresh the buffer.  Or start typing in each code block.
 
 ** Option for colourful "rainbow" headings
-   :PROPERTIES:
-   :CUSTOM_ID: h:1be42afb-bcd2-4425-b956-0ba93eb960c2
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:1be42afb-bcd2-4425-b956-0ba93eb960c2
+:END:
 
 Symbol names:
 
@@ -312,9 +320,9 @@ bold typography and the nuances between the various heading 
levels
 provide the elements of differentiation.
 
 ** Option for sectioned headings
-   :PROPERTIES:
-   :CUSTOM_ID: h:c1c9a380-7a05-4c0d-b714-2acac88f10ad
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:c1c9a380-7a05-4c0d-b714-2acac88f10ad
+:END:
 
 Symbol names:
 
@@ -345,9 +353,9 @@ text, use this:
 #+end_src
 
 ** Option for scaled headings
-   :PROPERTIES:
-   :CUSTOM_ID: h:db0275ea-11c2-47c9-82a9-10b65d8df0f8
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:db0275ea-11c2-47c9-82a9-10b65d8df0f8
+:END:
 
 Symbol names:
 
@@ -398,32 +406,34 @@ not of keywords that are added to it, like "TODO".  This 
is outside the
 control of the themes and I am not aware of any way to make such
 keywords scale accordingly (see [[*Font configurations for Org (and 
others)][issue 37]]).
 
-** Option for visible fringes
-   :PROPERTIES:
-   :CUSTOM_ID: h:d989f116-7559-40bc-bf94-ef508d480960
-   :END:
+** Option for "subtle" or "intense" fringe visibility
+:PROPERTIES:
+:CUSTOM_ID: h:d989f116-7559-40bc-bf94-ef508d480960
+:END:
 
 Symbol names:
 
-+ =modus-operandi-theme-visible-fringe=
-+ =modus-vivendi-theme-visible-fringe=
++ =modus-operandi-theme-fringes=
++ =modus-vivendi-theme-fringes=
 
 Possible values:
 
 1. =nil= (default)
-2. =t=
+2. =subtle=
+3. =intense=
 
-When enabled, this will render the fringes in a subtle background
-colour.
+The "subtle" symbol will apply a greyscale background that is visible,
+yet close enough to the main background colour.  While the "intense"
+symbol will use a more noticeable greyscale background.
 
 The default is to use the same colour as that of the main background,
 meaning that the fringes are not obvious though they still occupy the
-space given to them by =fringe-mode= (8px on either side by default).
+space given to them by =fringe-mode= (8 pixels on either side by default).
 
 ** Option for more slanted constructs
-   :PROPERTIES:
-   :CUSTOM_ID: h:cb327797-b303-47c5-8171-4587a911ccc2
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:cb327797-b303-47c5-8171-4587a911ccc2
+:END:
 
 Symbol names:
 
@@ -441,9 +451,9 @@ affects documentation strings and code comments.
 The default is to not use italics unless it is absolutely necessary.
 
 ** Option for more bold constructs
-   :PROPERTIES:
-   :CUSTOM_ID: h:9a77e814-5eca-488f-9a67-119a95c2d28a
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:9a77e814-5eca-488f-9a67-119a95c2d28a
+:END:
 
 Symbol names:
 
@@ -471,9 +481,9 @@ it throughout the theme:
 #+end_src
 
 ** Option for three-dimensional focused mode line
-   :PROPERTIES:
-   :CUSTOM_ID: h:ce155208-fdd6-4ada-9e0c-54aab7e2aff8
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:ce155208-fdd6-4ada-9e0c-54aab7e2aff8
+:END:
 
 Symbol names:
 
@@ -495,9 +505,9 @@ around them and with the active one having more intense 
colours than any
 inactive ones.
 
 ** Option for subtle diffs
-   :PROPERTIES:
-   :CUSTOM_ID: h:e3933a53-cbd9-4e44-958a-1d6d133f0816
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:e3933a53-cbd9-4e44-958a-1d6d133f0816
+:END:
 
 Symbol names:
 
@@ -522,9 +532,9 @@ which is, nonetheless, more subtle with this option than 
with its
 default equivalent.
 
 ** Option for faint code syntax highlighting
-   :PROPERTIES:
-   :CUSTOM_ID: h:9f05eef0-9d0d-4305-98a1-c4e49f41e1c8
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:9f05eef0-9d0d-4305-98a1-c4e49f41e1c8
+:END:
 
 Symbol names:
 
@@ -550,9 +560,9 @@ this list):
 + [[https://github.com/tarsius/paren-face][paren-face]]
 
 ** Option for intense line highlight (hl-line-mode)
-   :PROPERTIES:
-   :CUSTOM_ID: h:e19092a4-7204-40d3-ac35-3644b72de937
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:e19092a4-7204-40d3-ac35-3644b72de937
+:END:
 
 Symbol names:
 
@@ -587,38 +597,75 @@ delimiters).  This affects tools such as the built-in 
=show-paren-mode= as
 well as the =smartparens= package.  The default is to use a subtle warm
 colour for the background of those overlays.
 
-** Option for intense standard completions
-   :PROPERTIES:
-   :CUSTOM_ID: h:5b0b1e66-8287-4f3f-ba14-011c29320a3f
-   :END:
+** Option for "subtle" or "intense" prompts
+:PROPERTIES:
+:CUSTOM_ID: h:53b947f7-c713-4ac2-97f7-9be44a41a67a
+:END:
 
 Symbol names:
 
-+ =modus-operandi-theme-intense-standard-completions=
-+ =modus-vivendi-theme-intense-standard-completions=
++ =modus-operandi-theme-prompts=
++ =modus-vivendi-theme-prompts=
 
 Possible values:
 
 1. =nil= (default)
-2. =t=
+2. =subtle=
+3. =intense=
+
+The symbols "subtle" and "intense" will apply a combination of accented
+background and foreground to the minibuffer and other REPL prompts (like
+=M-x shell=).  The difference between the two is that the latter has a
+more pronounced/noticeable effect than the former.
 
-Display faces for built-in completion frameworks, such as =icomplete=,
-with a combination of background and foreground colours.  This covers
-every completion interface that either is part of the upstream Emacs
-distribution or extends some built-in library.  For example, =orderless=
-is a powerful completion style that can be used with core Emacs.  So it
-also is covered by this customisation option.
+The default is to not use any background for such prompts, while only
+relying on an accented foreground colour.
 
-With this enabled, Icomplete and others will use similar UI metaphors to
-those of =ivy=, =helm=, =selectrum= (among others).
+** Option for "moderate" or "opinionated" completion UIs
+:PROPERTIES:
+:CUSTOM_ID: h:5b0b1e66-8287-4f3f-ba14-011c29320a3f
+:END:
 
-The default is to only use foreground colour values for the various
-matching characters or items of standard completion tools.
+Symbol names:
+
++ =modus-operandi-theme-completions=
++ =modus-vivendi-theme-completions=
+
+Possible values:
+
+1. =nil= (default)
+2. =moderate=
+3. =opinionated=
+
+This is a special option that has different effects depending on the
+completion UI.  The interfaces can be grouped in two categories: (i)
+those that only or mostly use foreground colours for their interaction
+model, and (ii) those that combine background and foreground values for
+some of their metaphors.  The former category encompasses the built-in
+tools, namely, Icomplete and Ido, as well as packages like Orderless and
+Flx.  The latter covers Ivy, Helm, Selectrum, and similar.
+
+The symbol =moderate= will apply a combination of background and
+foreground that is fairly subtle.  For Icomplete and friends this
+constitutes a departure from their default aesthetics, however the
+difference is small.  While Ivy et al will appear slightly different
+than their original looks, as they are toned down a bit.
+
+The symbol =opinionated= will apply colour combinations that refashion the
+completion UI.  For the Icomplete camp this means that intense
+background and foreground combinations are used: in effect their looks
+emulate those of Ivy and co. in their original style.  Whereas the other
+group of packages will revert to an even more nuanced aesthetic with
+some additional changes to the choice of hues.
+
+To appreciate the scope of this customisation option, you should spend
+some time with every one of the =nil= (default), =moderate=, and =opinionated=
+possibilities.
 
 ** Option for variable-pitch fonts in headings
-   :PROPERTIES:
-   :CUSTOM_ID: h:33023fa6-6482-45d4-9b5e-3c73c945718f
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:33023fa6-6482-45d4-9b5e-3c73c945718f
+:END:
 
 Symbol names:
 
@@ -641,9 +688,9 @@ the main text, while letting inline code and some other 
space-sensitive
 constructs use a monospaced font).
 
 ** Complete example configuration for the above
-   :PROPERTIES:
-   :CUSTOM_ID: h:0e3b8a62-8d72-4439-be2d-cb12ed98f4cb
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:0e3b8a62-8d72-4439-be2d-cb12ed98f4cb
+:END:
 
 This is a complete =use-package= declaration with Modus Operandi as an
 example.  You can modify it to your preferences.  Here we enable all
@@ -659,14 +706,18 @@ being available.
 (use-package modus-operandi-theme
   :ensure t
   :init
+  ;; NOTE: Everything is disabled by default.
   (setq modus-operandi-theme-slanted-constructs t
         modus-operandi-theme-bold-constructs t
-        modus-operandi-theme-visible-fringes t
+        modus-operandi-theme-fringes 'subtle ; {nil,'subtle,'intense}
         modus-operandi-theme-3d-modeline t
-        modus-operandi-theme-subtle-diffs t
+        modus-operandi-theme-faint-syntax t
         modus-operandi-theme-intense-hl-line t
-        modus-operandi-theme-intense-standard-completions t
-        modus-operandi-theme-org-blocks 'greyscale
+        modus-operandi-theme-intense-paren-match t
+        modus-operandi-theme-prompts 'subtle ; {nil,'subtle,'intense}
+        modus-operandi-theme-completions 'moderate ; 
{nil,'moderate,'opinionated}
+        modus-operandi-theme-subtle-diffs t
+        modus-operandi-theme-org-blocks 'greyscale ; {nil,'greyscale,'rainbow}
         modus-operandi-theme-variable-pitch-headings t
         modus-operandi-theme-rainbow-headings t
         modus-operandi-theme-section-headings t
@@ -685,9 +736,9 @@ do not try to interpret the values of the variables, as I 
always test
 different combinations and scenaria).
 
 ** Full access to the palette for further tweaks (advanced)
-   :PROPERTIES:
-   :CUSTOM_ID: h:b7282635-4fe9-415a-abdf-962b736ff5b6
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:b7282635-4fe9-415a-abdf-962b736ff5b6
+:END:
 
 Unlike the previous options which follow a straightforward pattern of
 allowing the user to quickly select their preference, the themes also
@@ -695,9 +746,9 @@ provide a more powerful, albeit difficult, mechanism of 
controlling
 things with precision.
 
 *** Option 1 to redefine colour values
-    :PROPERTIES:
-    :CUSTOM_ID: h:149e23b6-ada1-480f-95cd-c56fb40999b5
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:149e23b6-ada1-480f-95cd-c56fb40999b5
+:END:
 
 The variables are:
 
@@ -770,9 +821,9 @@ the following (courtesy of the 
[[https://github.com/seagle0128/.emacs.d/blob/mas
 #+end_src
 
 *** Option 2 to apply colour variables to faces
-    :PROPERTIES:
-    :CUSTOM_ID: h:9754abfd-c890-4af3-91a8-1a2cb2b5be44
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:9754abfd-c890-4af3-91a8-1a2cb2b5be44
+:END:
 
 The macro symbols are:
 
@@ -801,23 +852,22 @@ Len's sample package declaration (with comments by me):
     (if (member 'modus-vivendi custom-enabled-themes)
         ;; this macro allows us to access the colour palette
         (modus-vivendi-theme-with-color-variables
-         (custom-theme-set-faces
-          'modus-vivendi
-          `(magit-branch-current
-            ((;; use a box property if the current display terminal
-              ;; supports it and also apply a background
-              ((supports :box t))
-              (:foreground ,blue-alt-other :background ,bg-alt :box t))
-             (t
-              ;; use an underline if instead of a box for other
-              ;; terminals
-              (:foreground ,blue-alt-other :background ,bg-alt :underline t))))
-          `(magit-branch-remote-head
-            ((((supports :box t))
-              (:foreground ,magenta-alt-other :background ,bg-alt :box t))
-             (t
-              (:foreground ,magenta-alt-other :background ,bg-alt :underline 
t))))
-          ))))
+          (custom-theme-set-faces
+           'modus-vivendi
+           `(magit-branch-current
+             ((;; use a box property if the current display terminal
+               ;; supports it and also apply a background
+               ((supports :box t))
+               (:foreground ,blue-alt-other :background ,bg-alt :box t))
+              (t
+               ;; use an underline instead of a box for other terminals
+               (:foreground ,blue-alt-other :background ,bg-alt :underline 
t))))
+           `(magit-branch-remote-head
+             ((((supports :box t))
+               (:foreground ,magenta-alt-other :background ,bg-alt :box t))
+              (t
+               (:foreground ,magenta-alt-other :background ,bg-alt :underline 
t))))
+           ))))
   ;; invoke the above function when appropriate in order to override the
   ;; styles of the desired faces
   (add-hook 'after-load-theme-hook 'customize-modus-vivendi)
@@ -847,9 +897,9 @@ If something is not clear or not working as intended, 
please let me
 know.
 
 *** Further considerations
-    :PROPERTIES:
-    :CUSTOM_ID: h:4acda0f1-564e-48ff-8998-ebf7618377dd
-    :END:
+:PROPERTIES:
+:CUSTOM_ID: h:4acda0f1-564e-48ff-8998-ebf7618377dd
+:END:
 
 Please understand that these customisation methods are meant for
 advanced users or those who are prepared to do their own research.  If
@@ -878,9 +928,9 @@ methods documented in my 
[[https://protesilaos.com/codelog/2020-05-10-modus-oper
 (2020-05-10).
 
 ** Font configurations for Org (and others)
-   :PROPERTIES:
-   :CUSTOM_ID: h:ea30ff0e-3bb6-4801-baf1-d49169d94cd5
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:ea30ff0e-3bb6-4801-baf1-d49169d94cd5
+:END:
 
 The themes are designed to cope well with mixed font settings.
 Currently this applies to =org-mode= (courtesy of 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/40][Ben in issue 40]]) 
and
@@ -926,29 +976,19 @@ check these:
 + 
[[https://protesilaos.com/codelog/2020-07-16-emacs-focused-editing/][“Focused 
editing” tools for Emacs]] (2020-07-16)
 + 
[[https://protesilaos.com/codelog/2020-07-17-emacs-mixed-fonts-org/][Configuring
 mixed fonts for Org mode and others]] (2020-07-17)
 
-** Note on settings for rendering of HTML buffers
-   :PROPERTIES:
-   :CUSTOM_ID: h:61875051-b284-40f0-a74d-1574f41b3d42
-   :END:
-
-The rendering mechanism that enables viewing of HTML content in Emacs
-may need some explicit specification depending on your preferences. This
-is demonstrated in 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/60][issue 60]] 
particularly with respect to viewing mails
-in mu4e.
-
 * Face coverage
-  :PROPERTIES:
-  :CUSTOM_ID: h:944a3bdf-f545-40a0-a26c-b2cec8b2b316
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:944a3bdf-f545-40a0-a26c-b2cec8b2b316
+:END:
 
 This list will always be updated to reflect the current state of the
 project.  The idea is to offer an overview of the /known status/ of all
 affected face groups.
 
 ** Full support
-   :PROPERTIES:
-   :CUSTOM_ID: h:5ea98392-1376-43a4-8080-2d42a5b690ef
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:5ea98392-1376-43a4-8080-2d42a5b690ef
+:END:
 
 The items with an appended asterisk =*= tend to have lots of extensions, so
 the "full support" may not be 100% true…
@@ -1051,9 +1091,10 @@ the "full support" may not be 100% true…
 + forge
 + fountain (fountain-mode)
 + geiser
-+ git
++ git-commit
 + git-gutter (and variants)
 + git-lens
++ git-rebase
 + git-timemachine
 + git-walktree
 + gnus
@@ -1129,6 +1170,7 @@ the "full support" may not be 100% true…
 + org-recur
 + org-roam
 + org-superstar
++ org-table-sticky-header
 + org-treescope
 + origami
 + outline-mode
@@ -1143,6 +1185,7 @@ the "full support" may not be 100% true…
 + perspective
 + phi-grep
 + phi-search
++ pkgbuild-mode
 + pomidor
 + powerline
 + powerline-evil
@@ -1159,6 +1202,7 @@ the "full support" may not be 100% true…
 + ruler-mode
 + sallet
 + selectrum
++ semantic
 + sesman
 + shell-script-mode
 + show-paren-mode
@@ -1167,6 +1211,7 @@ the "full support" may not be 100% true…
 + smart-mode-line
 + smartparens
 + smerge
++ spaceline
 + speedbar
 + spell-fu
 + stripes
@@ -1177,6 +1222,7 @@ the "full support" may not be 100% true…
 + sx
 + symbol-overlay
 + syslog-mode
++ table (built-in table.el)
 + telephone-line
 + term
 + tomatinho
@@ -1215,21 +1261,21 @@ Plus many other miscellaneous faces that are provided 
by the upstream
 GNU Emacs distribution.
 
 ** Covered but not styled explicitly
-   :PROPERTIES:
-   :CUSTOM_ID: h:8ada963d-046d-4c67-becf-eee18595f902
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:8ada963d-046d-4c67-becf-eee18595f902
+:END:
 
 These do not require any extra styles because they are configured to
 inherit from some basic faces.  Please confirm.
 
-+ comint
 + edit-indirect
++ php-mode
 + swift-mode
 
 ** Will NOT be supported
-   :PROPERTIES:
-   :CUSTOM_ID: h:46756fcc-0d85-4f77-b0e3-64f890e1c2ea
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:46756fcc-0d85-4f77-b0e3-64f890e1c2ea
+:END:
 
 I have thus far identified a single package that does fit into the
 overarching objective of this project: 
[[https://github.com/hlissner/emacs-solaire-mode][solaire]].  It basically 
tries to
@@ -1242,10 +1288,29 @@ effect/: less intense colours (but still accessible) 
for supportive
 interfaces and the intended styles for the content you are actually
 working on.
 
+** Note for powerline or spaceline users
+:PROPERTIES:
+:CUSTOM_ID: h:a7d956e5-c4fa-4586-bd84-770bf2c16666
+:END:
+
+After making changes to the theme configuration, in order to reset any
+color irregularities in the mode line, both Powerline and Spaceline
+package users can use the command =powerline-reset=.
+
+** Note on colour rendering of HTML buffers
+:PROPERTIES:
+:CUSTOM_ID: h:61875051-b284-40f0-a74d-1574f41b3d42
+:END:
+
+Emacs' HTML rendering mechanism (=shr=) may need explicit configuration to
+respect the theme's colours instead of whatever specifications the
+webpage provides.  Consult =C-h v shr-use-colors=.  This has been
+demonstrated in 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/60][issue 60]] with 
respect to viewing mails in mu4e.
+
 ** Note for HELM users of grep or grep-like functions
-   :PROPERTIES:
-   :CUSTOM_ID: h:e4408911-e186-4825-bd4f-4d0ea55cd6d6
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:e4408911-e186-4825-bd4f-4d0ea55cd6d6
+:END:
 
 There is one face from the Helm package that is meant to highlight the
 matches of a grep or grep-like command (=ag= or =ripgrep=).  It is
@@ -1279,9 +1344,9 @@ A similar scenario was 
[[https://gitlab.com/protesilaos/modus-themes/-/issues/49
 fixed by the Helm maintainer.
 
 ** Note on VC-ANNOTATE-BACKGROUND-MODE
-   :PROPERTIES:
-   :CUSTOM_ID: h:5b5d4420-50cc-4d53-a9f8-825cba6b68f1
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:5b5d4420-50cc-4d53-a9f8-825cba6b68f1
+:END:
 
 Due to the unique way =vc-annotate= (=C-x v g=) applies colours, support for
 its background mode (=vc-annotate-background-mode=) is disabled at the
@@ -1298,9 +1363,9 @@ report as much (or send patches, per the information in 
the [[#h:25ba8d6f-6604-4
 section).
 
 * Contributing
-  :PROPERTIES:
-  :CUSTOM_ID: h:25ba8d6f-6604-4338-b774-bbe531d467f6
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:25ba8d6f-6604-4338-b774-bbe531d467f6
+:END:
 
 A few tasks you can help me with:
 
@@ -1321,9 +1386,9 @@ necessary between aesthetics and accessibility, it shall 
always be made
 in the interest of the latter.
 
 ** Code contributions require copyright assignment to the FSF
-   :PROPERTIES:
-   :CUSTOM_ID: h:d3fb2fc7-6c34-4e68-b2d6-6048849b0319
-   :END:
+:PROPERTIES:
+:CUSTOM_ID: h:d3fb2fc7-6c34-4e68-b2d6-6048849b0319
+:END:
 
 I accept code contributions as well (send merge requests!).  But for any
 major contribution (more than 15 lines, or so, in aggregate), you need
@@ -1341,10 +1406,28 @@ happen via email and take about a week.
 I encourage you to go through this process.  You only need to do it
 once.  It will allow you to make contributions to Emacs in general.
 
+* External projects (ports)
+:PROPERTIES:
+:CUSTOM_ID: h:2a473296-2dd4-4575-9991-b89f83ef70aa
+:END:
+
+The present section documents projects that extend the scope of the
+Modus themes.  The following list will be updated whenever relevant
+information is brought to my attention.  If you already have or intend
+to produce such a port, feel welcome [[https://protesilaos.com/contact][to 
contact me]].
+
++ Modus exporter :: This is [[https://github.com/polaris64/modus-exporter][an 
Elisp library written by Simon Pugnet]].
+  It is meant to capture the colour values of the active Modus theme
+  (Operandi or Vivendi) and output it as a valid theme for some other
+  application.  As of this writing (2020-08-18), the project supports
+  exporting to a valid yaml format that can be applied to the Alacritty
+  terminal emulator.  Other templates are expected to be made available
+  in the near future.
+
 * Meta
-  :PROPERTIES:
-  :CUSTOM_ID: h:4c338a51-509e-42c0-8820-1f5014fb477b
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:4c338a51-509e-42c0-8820-1f5014fb477b
+:END:
 
 If you are curious about the principles that govern the development of
 this project, read my article 
[[https://protesilaos.com/codelog/2020-03-17-design-modus-themes-emacs/][On the 
design of the Modus themes]]
@@ -1359,9 +1442,9 @@ that goes into this project:
 + 
[[https://protesilaos.com/codelog/2020-07-08-modus-themes-nuanced-colours/][Modus
 themes: major review of "nuanced" colours]] (2020-07-08)
 
 * COPYING
-  :PROPERTIES:
-  :CUSTOM_ID: h:66652183-2fe0-46cd-b4bb-4121bad78d57
-  :END:
+:PROPERTIES:
+:CUSTOM_ID: h:66652183-2fe0-46cd-b4bb-4121bad78d57
+:END:
 
 The Modus Themes are distributed under the terms of the GNU General
 Public License version 3 or, at your choice, any later version.  See the
diff --git a/modus-vivendi-theme.el b/modus-vivendi-theme.el
index d00e1b9..eb70d87 100644
--- a/modus-vivendi-theme.el
+++ b/modus-vivendi-theme.el
@@ -4,7 +4,7 @@
 
 ;; Author: Protesilaos Stavrou <info@protesilaos.com>
 ;; URL: https://gitlab.com/protesilaos/modus-themes
-;; Version: 0.11.0
+;; Version: 0.12.0
 ;; Package-Requires: ((emacs "26.1"))
 ;; Keywords: faces, theme, accessibility
 
@@ -45,14 +45,15 @@
 ;;     modus-vivendi-theme-rainbow-headings               (boolean)
 ;;     modus-vivendi-theme-section-headings               (boolean)
 ;;     modus-vivendi-theme-scale-headings                 (boolean)
-;;     modus-vivendi-theme-visible-fringes                (boolean)
+;;     modus-vivendi-theme-fringes                        (choice)
 ;;     modus-vivendi-theme-org-blocks                     (choice)
+;;     modus-vivendi-theme-prompts                        (choice)
 ;;     modus-vivendi-theme-3d-modeline                    (boolean)
 ;;     modus-vivendi-theme-subtle-diffs                   (boolean)
 ;;     modus-vivendi-theme-faint-syntax                   (boolean)
 ;;     modus-vivendi-theme-intense-hl-line                (boolean)
 ;;     modus-vivendi-theme-intense-paren-match            (boolean)
-;;     modus-vivendi-theme-intense-standard-completions   (boolean)
+;;     modus-vivendi-theme-completions                    (choice)
 ;;     modus-vivendi-theme-override-colors-alist          (alist)
 ;;
 ;; The default scale is as follows (it can be customised as well):
@@ -166,9 +167,10 @@
 ;;     forge
 ;;     fountain (fountain-mode)
 ;;     geiser
-;;     git
+;;     git-commit
 ;;     git-gutter (and variants)
 ;;     git-lens
+;;     git-rebase
 ;;     git-timemachine
 ;;     git-walktree
 ;;     gnus
@@ -243,6 +245,7 @@
 ;;     org-recur
 ;;     org-roam
 ;;     org-superstar
+;;     org-table-sticky-header
 ;;     org-treescope
 ;;     origami
 ;;     outline-mode
@@ -257,6 +260,7 @@
 ;;     perspective
 ;;     phi-grep
 ;;     phi-search
+;;     pkgbuild-mode
 ;;     pomidor
 ;;     powerline
 ;;     powerline-evil
@@ -273,6 +277,7 @@
 ;;     ruler-mode
 ;;     sallet
 ;;     selectrum
+;;     semantic
 ;;     sesman
 ;;     shell-script-mode
 ;;     show-paren-mode
@@ -281,6 +286,7 @@
 ;;     smart-mode-line
 ;;     smartparens
 ;;     smerge
+;;     spaceline
 ;;     speedbar
 ;;     spell-fu
 ;;     stripes
@@ -293,11 +299,12 @@
 ;;     tab-bar-mode
 ;;     tab-line-mode
 ;;     syslog-mode
-;;     trashed
+;;     table (built-in table.el)
 ;;     telephone-line
 ;;     term
 ;;     tomatinho
 ;;     transient (pop-up windows like Magit's)
+;;     trashed
 ;;     treemacs
 ;;     tty-menu
 ;;     tuareg
@@ -501,10 +508,25 @@ For more on the matter, read the documentation of
 `set-face-attribute', specifically the ':height' section."
   :type 'number)
 
+(define-obsolete-variable-alias 'modus-vivendi-theme-visible-fringes
+  'modus-vivendi-theme-fringes "`modus-vivendi-theme' 0.12.0")
+
 (defcustom modus-vivendi-theme-visible-fringes nil
   "Use a visible style for fringes."
   :type 'boolean)
 
+(defcustom modus-vivendi-theme-fringes nil
+  "Define the visibility of fringes.
+
+Nil means the fringes have no background colour.  Option `subtle'
+will apply a greyscale value that is visible yet close to the
+main buffer background colour.  Option `intense' will use a more
+pronounced greyscale value."
+  :type '(choice
+          (const :tag "No visible fringes (default)" nil)
+          (const :tag "Subtle greyscale background" subtle)
+          (const :tag "Intense greyscale background" intense)))
+
 (define-obsolete-variable-alias 'modus-vivendi-theme-distinct-org-blocks
   'modus-vivendi-theme-org-blocks "`modus-vivendi-theme' 0.11.0")
 
@@ -539,9 +561,9 @@ language and is controlled by the `org-src-block-faces'
 variable (refer to the theme's source code for the current
 association list)."
   :type '(choice
-             (const :tag "No Org block background (default)" nil)
-             (const :tag "Subtle grey block background" greyscale)
-             (const :tag "Colour-coded background per programming language" 
rainbow)))
+          (const :tag "No Org block background (default)" nil)
+          (const :tag "Subtle grey block background" greyscale)
+          (const :tag "Colour-coded background per programming language" 
rainbow)))
 
 (defcustom modus-vivendi-theme-3d-modeline nil
   "Use a three-dimensional style for the active mode line."
@@ -551,10 +573,53 @@ association list)."
   "Use fewer/dim backgrounds in `diff-mode', `ediff',`magit'."
   :type 'boolean)
 
+(define-obsolete-variable-alias 
'modus-vivendi-theme-intense-standard-completions
+  'modus-vivendi-theme-completions "`modus-vivendi-theme' 0.12.0")
+
 (defcustom modus-vivendi-theme-intense-standard-completions nil
   "Use prominent backgrounds for Icomplete, Ido, or similar."
   :type 'boolean)
 
+(defcustom modus-vivendi-theme-completions nil
+  "Apply special styles to the UI of completion frameworks.
+This concerns Icomplete, Ivy, Helm, Selectrum, Ido, as well as
+any other tool meant to enhance their experience.  The effect
+will vary depending on the completion framework.
+
+Nil means to remain faithful to the metaphors that each UI
+establishes.  For example, Icomplete and Ido only use foreground
+colours to style their matches, whereas Ivy or Helm rely on an
+aesthetic that combines coloured backgrounds with appropriate
+text colour.
+
+Option `moderate' will apply a combination of background and
+foreground that is fairly subtle.  For Icomplete and the like,
+this constitutes a departure from their standard style.  While
+Ivy, Helm, and the others, will use less pronounced colours for
+applicable contexts.
+
+Option `opinionated' will apply colour combinations that
+refashion the completion UI.  So Icomplete et al will now use
+styles that resemble the defaults of Ivy and co., while the
+latter group will revert to an even more nuanced aesthetic."
+  :type '(choice
+          (const :tag "Respect the framework's established aesthetic 
(default)" nil)
+          (const :tag "Subtle backgrounds for various elements" moderate)
+          (const :tag "Radical alternative to the framework's looks" 
opinionated)))
+
+(defcustom modus-vivendi-theme-prompts nil
+  "Use subtle or intense styles for minibuffer and REPL prompts.
+
+Nil means to only use an accented foreground colour.
+
+Options `subtle' and `intense' will change both the background
+and the foreground values.  The latter has a more pronounced
+effect than the former."
+  :type '(choice
+          (const :tag "No prompt background (default)" nil)
+          (const :tag "Subtle accented background for the prompt" subtle)
+          (const :tag "Intense background and foreground for the prompt" 
intense)))
+
 (defcustom modus-vivendi-theme-intense-hl-line nil
   "Use more prominent background for `hl-line-mode'."
   :type 'boolean)
@@ -576,17 +641,38 @@ association list)."
   (when modus-vivendi-theme-bold-constructs
     (list :inherit 'bold)))
 
+(defun modus-vivendi-theme-fringe (subtlebg intensebg)
+  "Conditional use of background colours for fringes.
+SUBTLEBG should be a subtle greyscale value.  INTENSEBG must be a
+more pronounced greyscale colour."
+  (pcase modus-vivendi-theme-fringes
+    ('intense (list :background intensebg))
+    ('subtle (list :background subtlebg))
+    (_ (list :background nil))))
+
+(defun modus-vivendi-theme-prompt (mainfg subtlebg subtlefg intensebg 
intensefg)
+  "Conditional use of background colours for prompts.
+MAINFG is the prompt's standard foreground.  SUBTLEBG should be a
+subtle accented background that works with SUBTLEFG.  INTENSEBG
+must be a more pronounced accented colour that should be
+combinable with INTENSEFG."
+  (pcase modus-vivendi-theme-prompts
+    ('intense (list :background intensebg :foreground intensefg))
+    ('subtle (list :background subtlebg :foreground subtlefg))
+    (_ (list :background nil :foreground mainfg))))
+
 (defun modus-vivendi-theme-paren (normalbg intensebg)
   "Conditional use of intense colours for matching parentheses.
 NORMALBG should the special palette colour 'bg-paren-match' or
 something similar.  INTENSEBG must be easier to discern next to
-other backgrounds."
+other backgrounds, such as the special palette colour
+'bg-paren-match-intense'."
   (if modus-vivendi-theme-intense-paren-match
       (list :background intensebg)
     (list :background normalbg)))
 
 (defun modus-vivendi-theme-syntax-foreground (normal faint)
-  "Apply foreground value to headings.
+  "Apply foreground value to code syntax.
 NORMAL is the more saturated colour, which should be the default.
 FAINT is the less saturated colour."
   (if modus-vivendi-theme-faint-syntax
@@ -627,9 +713,9 @@ as the rest of the buffer.
 which is applied conditionally to `org-src-block-faces' (see the
 theme's source code)."
   (if (eq modus-vivendi-theme-org-blocks 'greyscale)
-    (append
-     (and (>= emacs-major-version 27) '(:extend t))
-     (list :background bgblk))
+      (append
+       (and (>= emacs-major-version 27) '(:extend t))
+       (list :background bgblk))
     (list :background nil)))
 
 (defun modus-vivendi-theme-org-block-delim (bgaccent fgaccent bg fg)
@@ -645,15 +731,11 @@ to `greyscale'.
 The latter pair should be more subtle than the background of the
 block, as it is used when `modus-vivendi-theme-org-blocks' is
 set to `rainbow'."
-  (cond
-   ((eq modus-vivendi-theme-org-blocks 'greyscale)
-    (append
-     (and (>= emacs-major-version 27) '(:extend t))
-     (list :background bg :foreground fg)))
-   ((eq modus-vivendi-theme-org-blocks 'rainbow)
-    (list :background bgaccent :foreground fgaccent))
-   (t
-    (list :background bg :foreground fg))))
+  (pcase modus-vivendi-theme-org-blocks
+    ('greyscale (append (and (>= emacs-major-version 27) '(:extend t))
+                        (list :background bg :foreground fg)))
+    ('rainbow (list :background bgaccent :foreground fgaccent))
+    (_ (list :background bg :foreground fg))))
 
 (defun modus-vivendi-theme-modeline-box (col3d col &optional btn int)
   "Control the box properties of the mode line.
@@ -687,16 +769,37 @@ should be one of the dedicated foregrounds for diffs"
       (list :background subtle-bg :foreground subtle-fg)
     (list :background intense-bg :foreground intense-fg)))
 
-(defun modus-vivendi-theme-completions (subtle-fg intense-bg intense-fg)
-  "Combinations for `modus-vivendi-theme-intense-standard-completions'.
+(defun modus-vivendi-theme-standard-completions (mainfg subtlebg intensebg 
intensefg)
+  "Combinations for `modus-vivendi-theme-completions'.
+These are intended for Icomplete, Ido, and related.
 
-SUBTLE-FG should be an appropriate accent value.  INTENSE-BG
-should be one of the accented backgrounds.  INTENSE-FG should be
-one of the foreground intended to be combined with the
-aforementioned background."
-  (if modus-vivendi-theme-intense-standard-completions
-      (list :background intense-bg :foreground intense-fg)
-    (list :foreground subtle-fg)))
+MAINFG is an accented foreground value.  SUBTLEBG is an accented
+background value that can be combined with MAINFG.  INTENSEBG and
+INTENSEFG are accented colours that are designed to be used in
+tandem."
+  (pcase modus-vivendi-theme-completions
+    ('opinionated (list :background intensebg :foreground intensefg))
+    ('moderate (list :background subtlebg :foreground mainfg))
+    (_ (list :foreground mainfg))))
+
+(defun modus-vivendi-theme-extra-completions (subtleface intenseface altface 
&optional altfg bold)
+  "Combinations for `modus-vivendi-theme-completions'.
+These are intended for Helm, Ivy, Selectrum, etc.
+
+SUBTLEFACE and INTENSEFACE are custom theme faces that combine a
+background and foreground value.  The difference between the two
+is a matter of degree.
+
+ALTFACE is a combination of colours that represents a departure
+from the UI's default aesthetics.  Optional ALTFG is meant to be
+used in tandem with it.
+
+Optional BOLD will apply a heavier weight to the text."
+  (pcase modus-vivendi-theme-completions
+    ('opinionated (list :inherit (list altface bold)
+                        :foreground (if altfg altfg 'unspecified)))
+    ('moderate (list :inherit (list subtleface bold)))
+    (_ (list :inherit (list intenseface bold)))))
 
 (defun modus-vivendi-theme-scale (amount)
   "Scale heading by AMOUNT.
@@ -831,9 +934,9 @@ AMOUNT is a customisation option."
       ;; can be combined with any of the "active" values, plus the
       ;; "special" and base foreground colours
       ;;
-      ;; `bg-paren-match', `bg-region' and `bg-tab-active' must be
-      ;; combined with `fg-main', while `bg-tab-inactive' should be
-      ;; combined with `fg-dim'
+      ;; `bg-paren-match', `bg-paren-match-intense', `bg-region' and
+      ;; `bg-tab-active' must be combined with `fg-main', while
+      ;; `bg-tab-inactive' should be combined with `fg-dim'
       ;;
       ;; `bg-tab-bar' is only intended for the bar that holds the tabs and
       ;; can only be combined with `fg-main'
@@ -853,15 +956,12 @@ AMOUNT is a customisation option."
       ;;
       ;; `fg-unfocused' must be combined with `fg-main'
       ;;
-      ;; `mode-line-default-border' is a special colour that is only
-      ;; intended for the active modeline when the user-facing option
-      ;; for `modus-vivendi-theme-3d-modeline' is `nil' (default)
-      ;;
       ;; the window divider colours apply to faces with just an fg value
       ;;
       ;; all pairs are combinable with themselves
       ("bg-hl-line" . "#151823")
-      ("bg-paren-match" . "#6e3a50")
+      ("bg-paren-match" . "#5f362f")
+      ("bg-paren-match-intense" . "#255650")
       ("bg-region" . "#3c3c3c")
 
       ("bg-tab-bar" . "#2c2c2c")
@@ -881,8 +981,6 @@ AMOUNT is a customisation option."
 
       ("fg-unfocused" . "#93959b")
 
-      ("mode-line-default-border" . "#767577")
-
       ("bg-header" . "#212121") ("fg-header" . "#dddddd")
 
       ("bg-whitespace" . "#170016") ("fg-whitespace" . "#a4959f")
@@ -911,9 +1009,13 @@ AMOUNT is a customisation option."
 Each element has the form (NAME . HEX).")
 
   (defcustom modus-vivendi-theme-override-colors-alist '()
-    "Place to override default theme colors.
-You can override a subset of the theme's default colors by
-defining them in this alist."
+    "Association list of palette colour overrides.
+Values can be mapped to variables, using the same syntax as the
+one present in `modus-vivendi-theme-default-colors-alist'.
+
+This is only meant for do-it-yourself usage, with the
+understanding that the user is responsible for the resulting
+contrast ratio between new and existing colours."
     :type '(alist
             :key-type (string :tag "Name")
             :value-type (string :tag " Hex")))
@@ -1033,8 +1135,7 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; absolute essentials
    `(default ((,class :background ,bg-main :foreground ,fg-main)))
    `(cursor ((,class :background ,fg-main)))
-   `(fringe ((,class :background
-                     ,(if modus-vivendi-theme-visible-fringes bg-inactive 
bg-main)
+   `(fringe ((,class ,@(modus-vivendi-theme-fringe bg-inactive bg-active)
                      :foreground ,fg-main)))
    `(vertical-border ((,class :foreground ,fg-window-divider-inner)))
 ;;;;; basic and/or ungrouped styles
@@ -1046,19 +1147,34 @@ Also bind `class' to ((class color) (min-colors 89))."
    ;;
    ;; (set-face-attribute 'bold nil :weight 'semibold)
    `(bold ((,class :weight bold)))
+   `(comint-highlight-input ((,class :inherit bold)))
+   `(comint-highlight-prompt ((,class ,@(modus-vivendi-theme-bold-weight)
+                                      ,@(modus-vivendi-theme-prompt cyan
+                                                                    
blue-nuanced-bg
+                                                                    blue-alt
+                                                                    
blue-refine-bg
+                                                                    fg-main))))
    `(error ((,class :inherit bold :foreground ,red)))
    `(escape-glyph ((,class :foreground ,fg-escape-char-construct)))
+   `(file-name-shadow ((,class :foreground ,fg-unfocused)))
    `(header-line ((,class :background ,bg-header :foreground ,fg-header)))
    `(header-line-highlight ((,class :inherit modus-theme-active-blue)))
    `(homoglyph ((,class :foreground ,fg-escape-char-construct)))
    `(ibuffer-locked-buffer ((,class :foreground ,yellow-alt-other)))
-   `(italic ((,class :foreground ,fg-special-cold :slant italic)))
+   `(italic ((,class :slant italic)))
    `(nobreak-hyphen ((,class :foreground ,fg-escape-char-construct)))
    `(nobreak-space ((,class :foreground ,fg-escape-char-construct :underline 
t)))
-   `(minibuffer-prompt ((,class :foreground ,cyan-alt-other)))
+   `(minibuffer-prompt ((,class ,@(modus-vivendi-theme-prompt cyan-alt-other
+                                                              cyan-nuanced-bg
+                                                              cyan
+                                                              cyan-refine-bg
+                                                              fg-main))))
    `(mm-command-output ((,class :foreground ,red-alt-other)))
    `(mm-uu-extract ((,class :background ,bg-dim :foreground ,fg-special-mild)))
    `(next-error ((,class :inherit modus-theme-subtle-red)))
+   `(rectangle-preview ((,class :inherit modus-theme-special-mild)))
+   `(region ((,class :background ,bg-region :foreground ,fg-main)))
+   `(secondary-selection ((,class :inherit modus-theme-special-cold)))
    `(shadow ((,class :foreground ,fg-alt)))
    `(success ((,class :inherit bold :foreground ,green)))
    `(trailing-whitespace ((,class :background ,red-intense-bg)))
@@ -1122,10 +1238,8 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; annotate
    `(annotate-annotation ((,class :inherit modus-theme-subtle-blue)))
    `(annotate-annotation-secondary ((,class :inherit 
modus-theme-subtle-green)))
-   `(annotate-highlight ((,class :background ,blue-nuanced-bg
-                                 :underline (:color ,blue-intense))))
-   `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg
-                                           :underline (:color 
,green-intense))))
+   `(annotate-highlight ((,class :background ,blue-nuanced-bg :underline 
,blue-intense)))
+   `(annotate-highlight-secondary ((,class :background ,green-nuanced-bg 
:underline ,green-intense)))
 ;;;;; anzu
    `(anzu-match-1 ((,class :inherit modus-theme-subtle-cyan)))
    `(anzu-match-2 ((,class :inherit modus-theme-subtle-green)))
@@ -1149,10 +1263,10 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(apt-sources-list-type ((,class :foreground ,magenta)))
    `(apt-sources-list-uri ((,class :foreground ,blue)))
 ;;;;; artbollocks-mode
-   `(artbollocks-face ((,class :foreground ,cyan-nuanced :underline (:color 
,fg-lang-note :style line))))
+   `(artbollocks-face ((,class :foreground ,cyan-nuanced :underline 
,fg-lang-note)))
    `(artbollocks-lexical-illusions-face ((,class :background ,bg-alt 
:foreground ,red-alt :underline t)))
-   `(artbollocks-passive-voice-face ((,class :foreground ,yellow-nuanced 
:underline (:color ,fg-lang-warning :style line))))
-   `(artbollocks-weasel-words-face ((,class :foreground ,red-nuanced 
:underline (:color ,fg-lang-error :style line))))
+   `(artbollocks-passive-voice-face ((,class :foreground ,yellow-nuanced 
:underline ,fg-lang-warning)))
+   `(artbollocks-weasel-words-face ((,class :foreground ,red-nuanced 
:underline ,fg-lang-error)))
 ;;;;; auctex and Tex
    `(font-latex-bold-face ((,class :inherit bold :foreground 
,fg-special-calm)))
    `(font-latex-doctex-documentation-face ((,class :foreground 
,fg-special-cold :slant ,modus-theme-slant)))
@@ -1160,18 +1274,12 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(font-latex-italic-face ((,class :foreground ,fg-special-calm :slant 
italic)))
    `(font-latex-math-face ((,class :foreground ,cyan-alt-other)))
    `(font-latex-script-char-face ((,class :foreground ,cyan-alt-other)))
-   `(font-latex-sectioning-0-face ((,class :inherit ,modus-theme-variable-pitch
-                                           :foreground ,blue-nuanced
-                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(font-latex-sectioning-1-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced
-                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-3))))
-   `(font-latex-sectioning-2-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced
-                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-2))))
-   `(font-latex-sectioning-3-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced
-                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-1))))
+   `(font-latex-sectioning-0-face ((,class :inherit 
,modus-theme-variable-pitch :foreground ,blue-nuanced)))
+   `(font-latex-sectioning-1-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
+   `(font-latex-sectioning-2-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
+   `(font-latex-sectioning-3-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
    `(font-latex-sectioning-4-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,blue-nuanced)))
-   `(font-latex-sectioning-5-face ((,class :inherit ,modus-theme-variable-pitch
-                                           :foreground ,blue-nuanced)))
+   `(font-latex-sectioning-5-face ((,class :inherit 
,modus-theme-variable-pitch :foreground ,blue-nuanced)))
    `(font-latex-sedate-face ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,magenta-alt-other)))
    `(font-latex-slide-title-face ((,class :inherit (bold 
,modus-theme-variable-pitch) :foreground ,cyan-nuanced
                                           ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
@@ -1213,7 +1321,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(bongo-album-title ((,class :foreground ,cyan-active)))
    `(bongo-artist ((,class :foreground ,magenta-active)))
    `(bongo-currently-playing-track ((,class :inherit bold)))
-   `(bongo-elapsed-track-part ((,class :background ,blue-refine-bg :foreground 
,blue-refine-fg :underline t)))
+   `(bongo-elapsed-track-part ((,class :inherit modus-theme-subtle-magenta 
:underline t)))
    `(bongo-filled-seek-bar ((,class :background ,blue-subtle-bg :foreground 
,fg-main)))
    `(bongo-marked-track ((,class :foreground ,fg-mark-alt)))
    `(bongo-marked-track-line ((,class :background ,bg-mark-alt)))
@@ -1276,9 +1384,9 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(centaur-tabs-unselected ((,class :background ,bg-tab-inactive :foreground 
,fg-dim)))
    `(centaur-tabs-unselected-modified ((,class :background ,bg-tab-inactive 
:foreground ,fg-dim :slant italic)))
 ;;;;; change-log and log-view (`vc-print-log' and `vc-print-root-log')
-   `(change-log-acknowledgment ((,class :foreground ,fg-special-warm)))
+   `(change-log-acknowledgment ((,class :foreground ,fg-alt)))
    `(change-log-conditionals ((,class :foreground ,magenta-alt)))
-   `(change-log-date ((,class :foreground ,magenta)))
+   `(change-log-date ((,class :foreground ,cyan-alt-other)))
    `(change-log-email ((,class :foreground ,cyan)))
    `(change-log-file ((,class :foreground ,blue)))
    `(change-log-function ((,class :foreground ,green-alt-other)))
@@ -1288,7 +1396,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(log-edit-summary ((,class :foreground ,magenta-alt-other)))
    `(log-edit-unknown-header ((,class :foreground ,fg-alt)))
    `(log-view-file ((,class :inherit bold :foreground ,fg-special-cold)))
-   `(log-view-message ((,class :foreground ,fg-special-warm)))
+   `(log-view-message ((,class :foreground ,fg-alt)))
 ;;;;; cider
    `(cider-debug-code-overlay-face ((,class :background ,bg-alt)))
    `(cider-debug-prompt-face ((,class :foreground ,magenta-alt :underline t)))
@@ -1381,11 +1489,13 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(compilation-warning ((,class ,@(modus-vivendi-theme-bold-weight) 
:foreground ,yellow)))
 ;;;;; completions
    `(completions-annotations ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
-   `(completions-common-part ((,class ,@(modus-vivendi-theme-completions
-                                         cyan-alt-other green-refine-bg 
green-refine-fg))))
+   `(completions-common-part ((,class 
,@(modus-vivendi-theme-standard-completions
+                                         cyan-alt-other cyan-nuanced-bg
+                                         yellow-refine-bg yellow-refine-fg))))
    `(completions-first-difference ((,class :inherit bold
-                                           ,@(modus-vivendi-theme-completions
-                                              blue-alt-other blue-intense-bg 
fg-main))))
+                                           
,@(modus-vivendi-theme-standard-completions
+                                              blue-alt-other blue-nuanced-bg
+                                              cyan-subtle-bg fg-dim))))
 ;;;;; counsel
    `(counsel-active-mode ((,class :foreground ,magenta-alt-other)))
    `(counsel-application-name ((,class :foreground ,red-alt-other)))
@@ -1503,7 +1613,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(dictionary-word-definition-face ((,class :foreground ,fg-main)))
    `(dictionary-word-entry-face ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
 ;;;;; diff-hl
-   `(diff-hl-change ((,class :inherit modus-theme-fringe-blue)))
+   `(diff-hl-change ((,class :inherit modus-theme-fringe-yellow)))
    `(diff-hl-delete ((,class :inherit modus-theme-fringe-red)))
    `(diff-hl-dired-change ((,class :inherit diff-hl-change)))
    `(diff-hl-dired-delete ((,class :inherit diff-hl-delete)))
@@ -1624,6 +1734,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(doom-modeline-buffer-modified ((,class :inherit bold :foreground 
,magenta-active)))
    `(doom-modeline-buffer-path ((,class :inherit bold :foreground ,fg-active)))
    `(doom-modeline-debug ((,class :inherit bold :foreground ,yellow-active)))
+   `(doom-modeline-debug-visual ((,class :inherit bold :foreground 
,red-active)))
    `(doom-modeline-evil-emacs-state ((,class :inherit bold :foreground 
,magenta-active)))
    `(doom-modeline-evil-insert-state ((,class :inherit bold :foreground 
,green-active)))
    `(doom-modeline-evil-motion-state ((,class :inherit bold :foreground 
,fg-inactive)))
@@ -1795,7 +1906,12 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(eshell-ls-special ((,class :inherit bold :foreground ,magenta)))
    `(eshell-ls-symlink ((,class :foreground ,cyan :underline t)))
    `(eshell-ls-unreadable ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
-   `(eshell-prompt ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,green-alt-other)))
+   `(eshell-prompt ((,class ,@(modus-vivendi-theme-bold-weight)
+                            ,@(modus-vivendi-theme-prompt green-alt-other
+                                                          green-nuanced-bg
+                                                          green-alt
+                                                          green-refine-bg
+                                                          fg-main))))
 ;;;;; eshell-fringe-status
    `(eshell-fringe-status-failure ((,class :foreground ,red)))
    `(eshell-fringe-status-success ((,class :foreground ,green)))
@@ -1929,7 +2045,12 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; flyspell-correct
    `(flyspell-correct-highlight-face ((,class :inherit 
modus-theme-refine-green)))
 ;;;;; flx
-   `(flx-highlight-face ((,class :inherit modus-theme-intense-magenta)))
+   `(flx-highlight-face ((,class ,@(modus-vivendi-theme-extra-completions
+                                    'modus-theme-subtle-magenta
+                                    'modus-theme-intense-magenta
+                                    'modus-theme-nuanced-magenta
+                                    magenta-alt-other
+                                    'bold))))
 ;;;;; freeze-it
    `(freeze-it-show ((,class :background ,bg-dim :foreground 
,fg-special-warm)))
 ;;;;; frog-menu
@@ -2031,16 +2152,16 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(geiser-font-lock-xref-header ((,class :inherit bold)))
    `(geiser-font-lock-xref-link ((,class :inherit link)))
 ;;;;; git-commit
-   `(git-commit-comment-action ((,class :foreground ,fg-special-calm :slant 
,modus-theme-slant)))
-   `(git-commit-comment-branch-local ((,class :foreground ,cyan :slant 
,modus-theme-slant)))
-   `(git-commit-comment-branch-remote ((,class :foreground ,blue :slant 
,modus-theme-slant)))
-   `(git-commit-comment-detached ((,class :foreground ,yellow :slant 
,modus-theme-slant)))
-   `(git-commit-comment-file ((,class :foreground ,blue :slant 
,modus-theme-slant)))
-   `(git-commit-comment-heading ((,class :inherit bold :foreground ,fg-main 
:slant ,modus-theme-slant)))
+   `(git-commit-comment-action ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
+   `(git-commit-comment-branch-local ((,class :foreground ,blue-alt :slant 
,modus-theme-slant)))
+   `(git-commit-comment-branch-remote ((,class :foreground ,magenta-alt :slant 
,modus-theme-slant)))
+   `(git-commit-comment-detached ((,class :foreground ,cyan-alt :slant 
,modus-theme-slant)))
+   `(git-commit-comment-file ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
+   `(git-commit-comment-heading ((,class :inherit bold :foreground ,fg-alt 
:slant ,modus-theme-slant)))
    `(git-commit-keyword ((,class :foreground ,magenta)))
    `(git-commit-known-pseudo-header ((,class :inherit bold :foreground 
,fg-special-warm)))
-   `(git-commit-nonempty-second-line ((,class :inherit 
(modus-theme-refine-yellow bold))))
-   `(git-commit-overlong-summary ((,class :inherit modus-theme-subtle-yellow)))
+   `(git-commit-nonempty-second-line ((,class :inherit 
modus-theme-refine-yellow)))
+   `(git-commit-overlong-summary ((,class :inherit modus-theme-refine-yellow)))
    `(git-commit-pseudo-header ((,class :inherit bold :foreground ,fg-alt)))
    `(git-commit-summary ((,class :foreground ,magenta-alt-other)))
 ;;;;; git-gutter
@@ -2068,6 +2189,11 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(git-lens-header ((,class :inherit bold :height 1.1 :foreground ,cyan)))
    `(git-lens-modified ((,class :inherit bold :foreground ,yellow)))
    `(git-lens-renamed ((,class :inherit bold :foreground ,magenta)))
+;;;;; git-rebase
+   `(git-rebase-comment-hash ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
+   `(git-rebase-comment-heading ((,class :inherit bold :foreground ,fg-dim 
:slant ,modus-theme-slant)))
+   `(git-rebase-description ((,class :foreground ,fg-main)))
+   `(git-rebase-hash ((,class :foreground ,cyan-alt-other)))
 ;;;;; git-timemachine
    `(git-timemachine-commit ((,class :inherit bold :foreground 
,yellow-active)))
    `(git-timemachine-minibuffer-author-face ((,class :foreground 
,fg-special-warm)))
@@ -2175,7 +2301,11 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(helm-eshell-prompts-promptidx ((,class :foreground ,cyan-active)))
    `(helm-etags-file ((,class :foreground ,fg-dim :underline t)))
    `(helm-ff-backup-file ((,class :foreground ,fg-alt)))
-   `(helm-ff-denied ((,class :inherit modus-theme-intense-red)))
+   `(helm-ff-denied ((,class ,@(modus-vivendi-theme-extra-completions
+                                'modus-theme-subtle-red
+                                'modus-theme-intense-red
+                                'modus-theme-nuanced-red
+                                red))))
    `(helm-ff-directory ((,class :inherit helm-buffer-directory)))
    `(helm-ff-dirs ((,class :inherit bold :foreground ,blue-alt-other)))
    `(helm-ff-dotted-directory ((,class :inherit bold :background ,bg-alt 
:foreground ,fg-alt)))
@@ -2184,10 +2314,22 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(helm-ff-file ((,class :foreground ,fg-main)))
    `(helm-ff-file-extension ((,class :foreground ,fg-special-warm)))
    `(helm-ff-invalid-symlink ((,class :foreground ,red :underline t)))
-   `(helm-ff-pipe ((,class :inherit modus-theme-subtle-magenta)))
-   `(helm-ff-prefix ((,class :inherit modus-theme-subtle-yellow)))
+   `(helm-ff-pipe ((,class ,@(modus-vivendi-theme-extra-completions
+                              'modus-theme-refine-magenta
+                              'modus-theme-subtle-magenta
+                              'modus-theme-nuanced-magenta
+                              magenta))))
+   `(helm-ff-prefix ((,class ,@(modus-vivendi-theme-extra-completions
+                                'modus-theme-refine-yellow
+                                'modus-theme-subtle-yellow
+                                'modus-theme-nuanced-yellow
+                                yellow-alt-other))))
    `(helm-ff-socket ((,class :foreground ,red-alt-other)))
-   `(helm-ff-suid ((,class :inherit modus-theme-refine-red)))
+   `(helm-ff-suid ((,class ,@(modus-vivendi-theme-extra-completions
+                              'modus-theme-subtle-red
+                              'modus-theme-refine-red
+                              'modus-theme-nuanced-yellow
+                              red-alt))))
    `(helm-ff-symlink ((,class :foreground ,cyan :underline t)))
    `(helm-ff-truename ((,class :foreground ,blue-alt-other)))
    `(helm-grep-cmd-line ((,class :foreground ,yellow-alt-other)))
@@ -2197,20 +2339,53 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(helm-grep-match ((,class :inherit modus-theme-special-calm)))
    `(helm-header ((,class :inherit bold :foreground ,fg-special-cold)))
    `(helm-header-line-left-margin ((,class :inherit bold :foreground 
,yellow-intense)))
-   `(helm-history-deleted ((,class :inherit (modus-theme-intense-red bold))))
+   `(helm-history-deleted ((,class ,@(modus-vivendi-theme-extra-completions
+                                      'modus-theme-subtle-red
+                                      'modus-theme-intense-red
+                                      'modus-theme-nuanced-red
+                                      red
+                                      'bold))))
    `(helm-history-remote ((,class :foreground ,red-alt-other)))
    `(helm-lisp-completion-info ((,class :foreground ,fg-special-warm)))
-   `(helm-lisp-show-completion ((,class :inherit modus-theme-refine-yellow)))
+   `(helm-lisp-show-completion ((,class 
,@(modus-vivendi-theme-extra-completions
+                                           'modus-theme-subtle-yellow
+                                           'modus-theme-refine-yellow
+                                           'modus-theme-nuanced-yellow
+                                           yellow
+                                           'bold))))
    `(helm-locate-finish ((,class :foreground ,green-active)))
-   `(helm-match ((,class :inherit (modus-theme-refine-cyan bold))))
-   `(helm-match-item ((,class :inherit modus-theme-subtle-cyan)))
+   `(helm-match ((,class ,@(modus-vivendi-theme-extra-completions
+                            'modus-theme-subtle-cyan
+                            'modus-theme-refine-cyan
+                            'modus-theme-nuanced-cyan
+                            cyan
+                            'bold))))
+   `(helm-match-item ((,class ,@(modus-vivendi-theme-extra-completions
+                                 'modus-theme-subtle-neutral
+                                 'modus-theme-subtle-cyan
+                                 'modus-theme-nuanced-cyan
+                                 cyan-alt-other))))
    `(helm-minibuffer-prompt ((,class :inherit minibuffer-prompt)))
    `(helm-moccur-buffer ((,class :foreground ,cyan-alt-other :underline t)))
-   `(helm-mode-prefix ((,class :inherit modus-theme-intense-magenta)))
+   `(helm-mode-prefix ((,class ,@(modus-vivendi-theme-extra-completions
+                                  'modus-theme-subtle-magenta
+                                  'modus-theme-intense-magenta
+                                  'modus-theme-nuanced-magenta
+                                  magenta-alt
+                                  'bold))))
    `(helm-non-file-buffer ((,class :foreground ,fg-alt)))
    `(helm-prefarg ((,class :foreground ,red-active)))
-   `(helm-resume-need-update ((,class :inherit modus-theme-refine-magenta)))
-   `(helm-selection ((,class :inherit (modus-theme-refine-blue bold))))
+   `(helm-resume-need-update ((,class ,@(modus-vivendi-theme-extra-completions
+                                         'modus-theme-subtle-magenta
+                                         'modus-theme-refine-magenta
+                                         'modus-theme-nuanced-magenta
+                                         magenta-alt-other))))
+   `(helm-selection ((,class ,@(modus-vivendi-theme-extra-completions
+                                'modus-theme-subtle-blue
+                                'modus-theme-refine-blue
+                                'modus-theme-special-cold
+                                nil
+                                'bold))))
    `(helm-selection-line ((,class :inherit modus-theme-special-cold)))
    `(helm-separator ((,class :foreground ,fg-special-mild)))
    `(helm-time-zone-current ((,class :foreground ,green)))
@@ -2231,7 +2406,12 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(helm-ls-git-renamed-modified-face ((,class :foreground ,magenta)))
    `(helm-ls-git-untracked-face ((,class :foreground ,fg-special-cold)))
 ;;;;; helm-switch-shell
-   `(helm-switch-shell-new-shell-face ((,class :inherit 
(modus-theme-refine-magenta bold))))
+   `(helm-switch-shell-new-shell-face ((,class 
,@(modus-vivendi-theme-extra-completions
+                                                  'modus-theme-subtle-magenta
+                                                  'modus-theme-refine-magenta
+                                                  'modus-theme-nuanced-magenta
+                                                  magenta-alt-other
+                                                  'bold))))
 ;;;;; helm-xref
    `(helm-xref-file-name ((,class :inherit bold :foreground ,fg-special-cold)))
    `(helm-xref-file-name ((,class :foreground ,fg-special-warm)))
@@ -2251,8 +2431,6 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(highlight-changes ((,class :foreground ,yellow-alt-other)))
    `(highlight-changes-delete ((,class :foreground ,red-alt-other :underline 
t)))
    `(hl-line ((,class :inherit modus-theme-hl-line)))
-   `(region ((,class :background ,bg-region :foreground ,fg-main)))
-   `(secondary-selection ((,class :inherit modus-theme-special-cold)))
 ;;;;; highlight-blocks
    `(highlight-blocks-depth-1-face ((,class :background ,bg-dim :foreground 
,fg-main)))
    `(highlight-blocks-depth-2-face ((,class :background ,bg-alt :foreground 
,fg-main)))
@@ -2289,7 +2467,7 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; hl-fill-column
    `(hl-fill-column-face ((,class :background ,bg-active :foreground 
,fg-active)))
 ;;;;; hl-todo
-   `(hl-todo ((,class :inherit bold :foreground ,red-alt-other)))
+   `(hl-todo ((,class :inherit bold :foreground ,red-alt-other :slant 
,modus-theme-slant)))
 ;;;;; hydra
    `(hydra-face-amaranth ((,class :inherit bold :foreground ,yellow)))
    `(hydra-face-blue ((,class :inherit bold :foreground ,blue-alt)))
@@ -2308,19 +2486,22 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(hyperlist-toplevel ((,class :inherit bold :foreground ,fg-main)))
 ;;;;; icomplete
    `(icomplete-first-match ((,class :inherit bold
-                                    ,@(modus-vivendi-theme-completions
-                                       magenta magenta-intense-bg fg-main))))
+                                    ,@(modus-vivendi-theme-standard-completions
+                                       magenta magenta-nuanced-bg
+                                       magenta-intense-bg fg-main))))
 ;;;;; icomplete-vertical
    `(icomplete-vertical-separator ((,class :foreground ,fg-alt)))
 ;;;;; ido-mode
    `(ido-first-match ((,class :inherit bold
-                              ,@(modus-vivendi-theme-completions
-                                 magenta magenta-subtle-bg fg-main))))
+                              ,@(modus-vivendi-theme-standard-completions
+                                 magenta magenta-nuanced-bg
+                                 magenta-subtle-bg fg-main))))
    `(ido-incomplete-regexp ((,class :inherit error)))
    `(ido-indicator ((,class :inherit modus-theme-subtle-yellow)))
    `(ido-only-match ((,class :inherit bold
-                             ,@(modus-vivendi-theme-completions
-                                magenta-intense magenta-intense-bg fg-main))))
+                             ,@(modus-vivendi-theme-standard-completions
+                                magenta-intense red-nuanced-bg
+                                magenta-intense-bg fg-main))))
    `(ido-subdir ((,class :foreground ,blue-alt-other)))
    `(ido-virtual ((,class :foreground ,yellow-alt-other)))
 ;;;;; iedit
@@ -2404,18 +2585,46 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(ivy-action ((,class :inherit bold :foreground ,red-alt)))
    `(ivy-completions-annotations ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
    `(ivy-confirm-face ((,class :foreground ,cyan)))
-   `(ivy-current-match ((,class ,@(and (>= emacs-major-version 27) '(:extend 
t))
-                                :inherit (modus-theme-intense-cyan bold))))
+   `(ivy-current-match ((,class ,@(modus-vivendi-theme-extra-completions
+                                   'modus-theme-refine-cyan
+                                   'modus-theme-intense-cyan
+                                   'modus-theme-special-warm
+                                   nil
+                                   'bold))))
    `(ivy-cursor ((,class :background ,fg-main :foreground ,bg-main)))
    `(ivy-grep-info ((,class :foreground ,cyan-alt)))
    `(ivy-grep-line-number ((,class :foreground ,fg-special-warm)))
    `(ivy-highlight-face ((,class :foreground ,magenta)))
    `(ivy-match-required-face ((,class :inherit error)))
-   `(ivy-minibuffer-match-face-1 ((,class :inherit 
modus-theme-intense-neutral)))
-   `(ivy-minibuffer-match-face-2 ((,class :inherit (modus-theme-refine-green 
bold))))
-   `(ivy-minibuffer-match-face-3 ((,class :inherit (modus-theme-refine-cyan 
bold))))
-   `(ivy-minibuffer-match-face-4 ((,class :inherit (modus-theme-refine-magenta 
bold))))
-   `(ivy-minibuffer-match-highlight ((,class :inherit (modus-theme-subtle-blue 
bold))))
+   `(ivy-minibuffer-match-face-1 ((,class 
,@(modus-vivendi-theme-extra-completions
+                                             'modus-theme-subtle-neutral
+                                             'modus-theme-intense-neutral
+                                             'modus-theme-subtle-neutral
+                                             fg-alt))))
+   `(ivy-minibuffer-match-face-2 ((,class 
,@(modus-vivendi-theme-extra-completions
+                                             'modus-theme-subtle-green
+                                             'modus-theme-refine-green
+                                             'modus-theme-nuanced-green
+                                             green-alt-other
+                                             'bold))))
+   `(ivy-minibuffer-match-face-3 ((,class 
,@(modus-vivendi-theme-extra-completions
+                                             'modus-theme-subtle-cyan
+                                             'modus-theme-refine-cyan
+                                             'modus-theme-nuanced-cyan
+                                             cyan-alt-other
+                                             'bold))))
+   `(ivy-minibuffer-match-face-4 ((,class 
,@(modus-vivendi-theme-extra-completions
+                                             'modus-theme-subtle-magenta
+                                             'modus-theme-refine-magenta
+                                             'modus-theme-nuanced-magenta
+                                             magenta-alt-other
+                                             'bold))))
+   `(ivy-minibuffer-match-highlight ((,class 
,@(modus-vivendi-theme-extra-completions
+                                                'modus-theme-subtle-blue
+                                                'modus-theme-intense-blue
+                                                'modus-theme-nuanced-blue
+                                                blue-alt-other
+                                                'bold))))
    `(ivy-modified-buffer ((,class :foreground ,yellow :slant 
,modus-theme-slant)))
    `(ivy-modified-outside-buffer ((,class :foreground ,yellow-alt :slant 
,modus-theme-slant)))
    `(ivy-org ((,class :foreground ,cyan-alt-other)))
@@ -2424,7 +2633,11 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(ivy-separator ((,class :foreground ,fg-alt)))
    `(ivy-subdir ((,class :foreground ,blue-alt-other)))
    `(ivy-virtual ((,class :foreground ,magenta-alt-other)))
-   `(ivy-yanked-word ((,class :inherit modus-theme-refine-blue)))
+   `(ivy-yanked-word ((,class ,@(modus-vivendi-theme-extra-completions
+                                 'modus-theme-subtle-blue
+                                 'modus-theme-refine-blue
+                                 'modus-theme-nuanced-blue
+                                 blue-alt))))
 ;;;;; ivy-posframe
    `(ivy-posframe ((,class :background ,bg-dim :foreground ,fg-main)))
    `(ivy-posframe-border ((,class :background ,bg-active)))
@@ -2529,14 +2742,14 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-bisect-bad ((,class :foreground ,red-alt-other)))
    `(magit-bisect-good ((,class :foreground ,green-alt-other)))
    `(magit-bisect-skip ((,class :foreground ,yellow-alt-other)))
-   `(magit-blame-date ((,class :foreground ,fg-dim)))
-   `(magit-blame-dimmed ((,class :foreground ,fg-inactive)))
+   `(magit-blame-date ((,class :foreground ,blue)))
+   `(magit-blame-dimmed ((,class :foreground ,fg-alt)))
    `(magit-blame-hash ((,class :foreground ,fg-special-warm)))
-   `(magit-blame-heading ((,class :inherit bold :background ,bg-main 
:foreground ,fg-special-cold)))
-   `(magit-blame-highlight ((,class :inherit (modus-theme-special-cold bold))))
+   `(magit-blame-heading ((,class :background ,bg-alt)))
+   `(magit-blame-highlight ((,class :inherit modus-theme-nuanced-cyan)))
    `(magit-blame-margin ((,class :inherit magit-blame-highlight)))
-   `(magit-blame-name ((,class :foreground ,fg-main)))
-   `(magit-blame-summary ((,class :foreground ,fg-main)))
+   `(magit-blame-name ((,class :foreground ,magenta-alt-other)))
+   `(magit-blame-summary ((,class :foreground ,cyan-alt-other)))
    `(magit-branch-current ((,class :foreground ,blue-alt-other :box t)))
    `(magit-branch-local ((,class :foreground ,blue-alt)))
    `(magit-branch-remote ((,class :foreground ,magenta-alt)))
@@ -2577,17 +2790,17 @@ Also bind `class' to ((class color) (min-colors 89))."
                                               bg-diff-focus-removed 
fg-diff-focus-removed))))
    `(magit-diffstat-added ((,class :foreground ,green)))
    `(magit-diffstat-removed ((,class :foreground ,red)))
-   `(magit-dimmed ((,class :foreground ,fg-alt)))
+   `(magit-dimmed ((,class :foreground ,fg-unfocused)))
    `(magit-filename ((,class :foreground ,fg-special-cold)))
-   `(magit-hash ((,class :foreground ,fg-special-warm)))
+   `(magit-hash ((,class :foreground ,fg-alt)))
    `(magit-head ((,class :inherit magit-branch-local)))
-   `(magit-header-line ((,class :inherit bold :foreground ,cyan-active)))
+   `(magit-header-line ((,class :inherit bold :foreground ,magenta-active)))
    `(magit-header-line-key ((,class :inherit bold :foreground ,red-active)))
    `(magit-header-line-log-select ((,class :inherit bold :foreground 
,fg-main)))
    `(magit-keyword ((,class :foreground ,magenta)))
    `(magit-keyword-squash ((,class :inherit bold :foreground 
,yellow-alt-other)))
    `(magit-log-author ((,class :foreground ,cyan)))
-   `(magit-log-date ((,class :foreground ,magenta)))
+   `(magit-log-date ((,class :foreground ,fg-alt)))
    `(magit-log-graph ((,class :foreground ,fg-dim)))
    `(magit-mode-line-process ((,class :inherit bold :foreground ,blue-active)))
    `(magit-mode-line-process-error ((,class :inherit bold :foreground 
,red-active)))
@@ -2607,7 +2820,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-refname-stash ((,class :foreground ,fg-alt)))
    `(magit-refname-wip ((,class :foreground ,fg-alt)))
    `(magit-section ((,class :background ,bg-dim :foreground ,fg-main)))
-   `(magit-section-heading ((,class :inherit bold :foreground 
,cyan-alt-other)))
+   `(magit-section-heading ((,class :inherit bold :foreground ,cyan)))
    `(magit-section-heading-selection ((,class :inherit 
(modus-theme-refine-cyan bold))))
    `(magit-section-highlight ((,class :background ,bg-alt)))
    `(magit-sequence-done ((,class :foreground ,green-alt)))
@@ -2618,14 +2831,14 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(magit-sequence-part ((,class :foreground ,yellow-alt)))
    `(magit-sequence-pick ((,class :foreground ,blue-alt)))
    `(magit-sequence-stop ((,class :foreground ,red)))
-   `(magit-signature-bad ((,class :inherit bold :background ,bg-main 
:foreground ,red-intense)))
-   `(magit-signature-error ((,class :background ,bg-main :foreground 
,red-intense)))
-   `(magit-signature-expired ((,class :background ,bg-main :foreground 
,yellow-intense)))
-   `(magit-signature-expired-key ((,class :background ,bg-main :foreground 
,yellow-intense)))
-   `(magit-signature-good ((,class :background ,bg-main :foreground 
,green-intense)))
-   `(magit-signature-revoked ((,class :background ,bg-main :foreground 
,magenta-intense)))
-   `(magit-signature-untrusted ((,class :background ,bg-main :foreground 
,cyan-intense)))
-   `(magit-tag ((,class :foreground ,green-alt)))
+   `(magit-signature-bad ((,class :inherit bold :foreground ,red)))
+   `(magit-signature-error ((,class :foreground ,red-alt)))
+   `(magit-signature-expired ((,class :foreground ,yellow)))
+   `(magit-signature-expired-key ((,class :foreground ,yellow)))
+   `(magit-signature-good ((,class :foreground ,green)))
+   `(magit-signature-revoked ((,class :foreground ,magenta)))
+   `(magit-signature-untrusted ((,class :foreground ,cyan)))
+   `(magit-tag ((,class :foreground ,yellow-alt-other)))
 ;;;;; magit-imerge
    `(magit-imerge-overriding-value ((,class :inherit bold :foreground 
,red-alt)))
 ;;;;; man
@@ -2650,7 +2863,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(markdown-html-tag-delimiter-face ((,class :inherit fixed-pitch 
:foreground ,fg-special-mild)))
    `(markdown-html-tag-name-face ((,class :inherit fixed-pitch :foreground 
,magenta-alt)))
    `(markdown-inline-code-face ((,class :inherit fixed-pitch :foreground 
,magenta)))
-   `(markdown-italic-face ((,class :slant italic)))
+   `(markdown-italic-face ((,class :foreground ,fg-special-cold :slant 
italic)))
    `(markdown-language-info-face ((,class :inherit fixed-pitch :foreground 
,fg-special-cold)))
    `(markdown-language-keyword-face ((,class :inherit fixed-pitch :foreground 
,green-alt-other)))
    `(markdown-line-break-face ((,class :inherit modus-theme-refine-cyan 
:underline t)))
@@ -2737,14 +2950,14 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(minimap-active-region-background ((,class :background ,bg-active)))
    `(minimap-current-line-face ((,class :background ,cyan-intense-bg 
:foreground ,fg-main)))
 ;;;;; modeline
-   `(mode-line ((,class :box ,(modus-vivendi-theme-modeline-box bg-inactive 
mode-line-default-border t)
+   `(mode-line ((,class :box ,(modus-vivendi-theme-modeline-box bg-active 
fg-alt t)
                         ,@(modus-vivendi-theme-modeline-props
                            bg-active fg-dim
                            bg-active fg-active))))
    `(mode-line-buffer-id ((,class :inherit bold)))
    `(mode-line-emphasis ((,class :inherit bold :foreground ,blue-active)))
    `(mode-line-highlight ((,class :inherit modus-theme-active-blue :box 
(:line-width -1 :style pressed-button))))
-   `(mode-line-inactive ((,class :box ,(modus-vivendi-theme-modeline-box 
bg-active bg-active)
+   `(mode-line-inactive ((,class :box ,(modus-vivendi-theme-modeline-box 
bg-active bg-region)
                                  ,@(modus-vivendi-theme-modeline-props
                                     bg-dim fg-inactive
                                     bg-inactive fg-inactive))))
@@ -2765,27 +2978,27 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(mu4e-cited-5-face ((,class :foreground ,yellow-alt)))
    `(mu4e-cited-6-face ((,class :foreground ,cyan-alt)))
    `(mu4e-cited-7-face ((,class :foreground ,magenta)))
-   `(mu4e-compose-header-face ((,class :foreground ,green-alt)))
+   `(mu4e-compose-header-face ((,class :inherit mu4e-compose-separator-face)))
    `(mu4e-compose-separator-face ((,class :background ,bg-active :foreground 
,fg-special-warm)))
    `(mu4e-contact-face ((,class :inherit bold :foreground ,cyan-alt-other)))
    `(mu4e-context-face ((,class :foreground ,blue-active)))
-   `(mu4e-draft-face ((,class :foreground ,magenta)))
+   `(mu4e-draft-face ((,class :foreground ,magenta-alt)))
    `(mu4e-flagged-face ((,class :foreground ,red-alt)))
    `(mu4e-footer-face ((,class :foreground ,fg-special-cold :slant 
,modus-theme-slant)))
-   `(mu4e-forwarded-face ((,class :foreground ,green-alt-other)))
-   `(mu4e-header-face ((,class :foreground ,fg-dim)))
+   `(mu4e-forwarded-face ((,class :foreground ,magenta-alt-other)))
+   `(mu4e-header-face ((,class :foreground ,fg-alt)))
    `(mu4e-header-highlight-face ((,class :inherit modus-theme-hl-line)))
    `(mu4e-header-key-face ((,class :foreground ,cyan)))
    `(mu4e-header-marks-face ((,class :inherit bold :foreground ,magenta-alt)))
    `(mu4e-header-title-face ((,class :foreground ,fg-special-mild)))
    `(mu4e-header-value-face ((,class :inherit bold :foreground 
,magenta-alt-other)))
-   `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-intense)))
+   `(mu4e-highlight-face ((,class :inherit bold :foreground ,blue-alt-other)))
    `(mu4e-link-face ((,class :inherit link)))
    `(mu4e-modeline-face ((,class :foreground ,magenta-active)))
    `(mu4e-moved-face ((,class :foreground ,yellow :slant ,modus-theme-slant)))
    `(mu4e-ok-face ((,class :inherit bold :foreground ,green)))
    `(mu4e-region-code ((,class :inherit modus-theme-special-calm)))
-   `(mu4e-replied-face ((,class :foreground ,fg-alt)))
+   `(mu4e-replied-face ((,class :foreground ,cyan-active)))
    `(mu4e-special-header-value-face ((,class :inherit bold :foreground 
,blue-alt-other)))
    `(mu4e-system-face ((,class :foreground ,fg-mark-del :slant 
,modus-theme-slant)))
    `(mu4e-title-face ((,class :foreground ,fg-main)))
@@ -2840,7 +3053,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(notmuch-crypto-signature-good-key ((,class :inherit 
modus-theme-refine-yellow)))
    `(notmuch-crypto-signature-unknown ((,class :inherit 
modus-theme-refine-red)))
    `(notmuch-hello-logo-background ((,class :background ,bg-main)))
-   `(notmuch-message-summary-face ((,class :background ,bg-dim)))
+   `(notmuch-message-summary-face ((,class :inherit modus-theme-nuanced-cyan)))
    `(notmuch-search-flagged-face ((,class :foreground ,red-alt)))
    `(notmuch-search-matching-authors ((,class :foreground ,fg-main)))
    `(notmuch-search-non-matching-authors ((,class :foreground ,fg-alt)))
@@ -2918,17 +3131,21 @@ Also bind `class' to ((class color) (min-colors 89))."
                        ,@(modus-vivendi-theme-bold-weight))))
 ;;;;; orderless
    `(orderless-match-face-0 ((,class :inherit bold
-                                     ,@(modus-vivendi-theme-completions
-                                        blue-alt blue-refine-bg 
blue-refine-fg))))
+                                     
,@(modus-vivendi-theme-standard-completions
+                                        blue-alt blue-nuanced-bg
+                                        blue-refine-bg blue-refine-fg))))
    `(orderless-match-face-1 ((,class :inherit bold
-                                     ,@(modus-vivendi-theme-completions
-                                        magenta-alt magenta-refine-bg 
magenta-refine-fg))))
+                                     
,@(modus-vivendi-theme-standard-completions
+                                        magenta-alt magenta-nuanced-bg
+                                        magenta-refine-bg magenta-refine-fg))))
    `(orderless-match-face-2 ((,class :inherit bold
-                                     ,@(modus-vivendi-theme-completions
-                                        green-alt-other green-refine-bg 
green-refine-fg))))
+                                     
,@(modus-vivendi-theme-standard-completions
+                                        green-alt-other green-nuanced-bg
+                                        green-refine-bg green-refine-fg))))
    `(orderless-match-face-3 ((,class :inherit bold
-                                     ,@(modus-vivendi-theme-completions
-                                        yellow-alt-other yellow-refine-bg 
yellow-refine-fg))))
+                                     
,@(modus-vivendi-theme-standard-completions
+                                        yellow-alt-other yellow-nuanced-bg
+                                        yellow-refine-bg yellow-refine-fg))))
 ;;;;; org
    `(org-agenda-calendar-event ((,class :foreground ,fg-main)))
    `(org-agenda-calendar-sexp ((,class :foreground ,cyan-alt)))
@@ -2986,7 +3203,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(org-drawer ((,class :foreground ,cyan-alt)))
    `(org-ellipsis ((,class :foreground nil))) ; inherits from the heading's 
colour
    `(org-footnote ((,class :foreground ,blue-alt :underline t)))
-   `(org-formula ((,class :foreground ,red-alt)))
+   `(org-formula ((,class :inherit fixed-pitch :foreground ,red-alt)))
    `(org-habit-alert-face ((,class :inherit modus-theme-intense-yellow)))
    `(org-habit-alert-future-face ((,class :inherit modus-theme-refine-yellow)))
    `(org-habit-clear-face ((,class :inherit modus-theme-intense-magenta)))
@@ -3079,6 +3296,8 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; org-superstar
    `(org-superstar-item ((,class :foreground ,fg-main)))
    `(org-superstar-leading ((,class :foreground ,fg-whitespace)))
+;;;;; org-table-sticky-header
+   `(org-table-sticky-header-face ((,class :inherit 
modus-theme-intense-neutral)))
 ;;;;; org-treescope
    `(org-treescope-faces--markerinternal-midday ((,class :inherit 
modus-theme-intense-blue)))
    `(org-treescope-faces--markerinternal-range ((,class :inherit 
modus-theme-special-mild)))
@@ -3173,18 +3392,20 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(phi-search-failpart-face ((,class :inherit modus-theme-refine-red)))
    `(phi-search-match-face ((,class :inherit modus-theme-refine-cyan)))
    `(phi-search-selection-face ((,class :inherit (modus-theme-intense-green 
bold))))
+;;;;; pkgbuild-mode
+   `(pkgbuild-error-face ((,class :underline ,fg-lang-error)))
 ;;;;; pomidor
    `(pomidor-break-face ((,class :foreground ,blue-alt-other)))
    `(pomidor-overwork-face ((,class :foreground ,red-alt-other)))
    `(pomidor-skip-face ((,class :foreground ,fg-alt :slant 
,modus-theme-slant)))
    `(pomidor-work-face ((,class :foreground ,green-alt-other)))
 ;;;;; powerline
-   `(powerline-active0 ((,class :background ,fg-inactive :foreground 
,bg-inactive)))
-   `(powerline-active1 ((,class :background ,bg-active :foreground 
,fg-active)))
-   `(powerline-active2 ((,class :background ,bg-alt :foreground ,fg-active)))
-   `(powerline-inactive0 ((,class :background ,bg-active :foreground 
,fg-inactive)))
-   `(powerline-inactive1 ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
-   `(powerline-inactive2 ((,class :background ,bg-main :foreground ,fg-alt)))
+   `(powerline-active0 ((,class :background ,bg-main :foreground ,blue-faint 
:inverse-video t)))
+   `(powerline-active1 ((,class :background ,blue-nuanced-bg :foreground 
,blue-nuanced)))
+   `(powerline-active2 ((,class :background ,bg-active :foreground 
,fg-active)))
+   `(powerline-inactive0 ((,class :background ,bg-special-cold :foreground 
,fg-special-cold)))
+   `(powerline-inactive1 ((,class :background ,bg-dim :foreground 
,fg-inactive)))
+   `(powerline-inactive2 ((,class :background ,bg-inactive :foreground 
,fg-inactive)))
 ;;;;; powerline-evil
    `(powerline-evil-base-face ((,class :background ,fg-main :foreground 
,bg-main)))
    `(powerline-evil-emacs-face ((,class :inherit modus-theme-active-magenta)))
@@ -3303,17 +3524,53 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(sallet-buffer-read-only ((,class :foreground ,yellow-alt)))
    `(sallet-buffer-size ((,class :foreground ,fg-special-calm)))
    `(sallet-buffer-special ((,class :foreground ,magenta-alt-other)))
-   `(sallet-flx-match ((,class :inherit modus-theme-refine-cyan)))
+   `(sallet-flx-match ((,class ,@(modus-vivendi-theme-extra-completions
+                                  'modus-theme-subtle-cyan
+                                  'modus-theme-refine-cyan
+                                  'modus-theme-nuanced-cyan
+                                  cyan-alt-other))))
    `(sallet-recentf-buffer-name ((,class :foreground ,blue-nuanced)))
    `(sallet-recentf-file-path ((,class :foreground ,fg-special-mild)))
-   `(sallet-regexp-match ((,class :inherit modus-theme-refine-magenta)))
+   `(sallet-regexp-match ((,class ,@(modus-vivendi-theme-extra-completions
+                                     'modus-theme-subtle-magenta
+                                     'modus-theme-refine-magenta
+                                     'modus-theme-nuanced-magenta
+                                     magenta-alt-other))))
    `(sallet-source-header ((,class :inherit bold :foreground ,red-alt
                                    ,@(modus-vivendi-theme-scale 
modus-vivendi-theme-scale-4))))
-   `(sallet-substring-match ((,class :inherit modus-theme-refine-blue)))
+   `(sallet-substring-match ((,class ,@(modus-vivendi-theme-extra-completions
+                                        'modus-theme-subtle-blue
+                                        'modus-theme-refine-blue
+                                        'modus-theme-nuanced-blue
+                                        blue-alt-other))))
 ;;;;; selectrum
-   `(selectrum-current-candidate ((,class :inherit 
modus-theme-intense-magenta)))
-   `(selectrum-primary-highlight ((,class :inherit (modus-theme-refine-blue 
bold))))
-   `(selectrum-secondary-highlight ((,class :inherit (modus-theme-refine-cyan 
bold))))
+   `(selectrum-current-candidate ((,class 
,@(modus-vivendi-theme-extra-completions
+                                             'modus-theme-refine-magenta
+                                             'modus-theme-intense-magenta
+                                             'modus-theme-nuanced-magenta
+                                             magenta
+                                             'bold))))
+   `(selectrum-primary-highlight ((,class 
,@(modus-vivendi-theme-extra-completions
+                                             'modus-theme-refine-blue
+                                             'modus-theme-intense-blue
+                                             'modus-theme-nuanced-blue
+                                             blue
+                                             'bold))))
+   `(selectrum-secondary-highlight ((,class 
,@(modus-vivendi-theme-extra-completions
+                                               'modus-theme-refine-cyan
+                                               'modus-theme-intense-cyan
+                                               'modus-theme-nuanced-cyan
+                                               cyan
+                                               'bold))))
+;;;;; semantic
+   `(semantic-complete-inline-face ((,class :foreground ,fg-special-warm 
:underline t)))
+   `(semantic-decoration-on-private-members-face ((,class :inherit 
modus-theme-refine-cyan)))
+   `(semantic-decoration-on-protected-members-face ((,class :background 
,bg-dim)))
+   `(semantic-highlight-edits-face ((,class :background ,bg-alt)))
+   `(semantic-highlight-func-current-tag-face ((,class :background ,bg-alt)))
+   `(semantic-idle-symbol-highlight ((,class :inherit 
modus-theme-special-mild)))
+   `(semantic-tag-boundary-face ((,class :overline ,blue-intense)))
+   `(semantic-unmatched-syntax-face ((,class :underline ,fg-lang-error)))
 ;;;;; sesman
    `(sesman-browser-button-face ((,class :foreground ,blue-alt-other 
:underline t)))
    `(sesman-browser-highligh-face ((,class :inherit modus-theme-subtle-blue)))
@@ -3324,7 +3581,8 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(sh-heredoc ((,class :foreground ,blue-alt)))
    `(sh-quoted-exec ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,magenta-alt)))
 ;;;;; show-paren-mode
-   `(show-paren-match ((,class ,@(modus-vivendi-theme-paren bg-paren-match 
blue-intense-bg)
+   `(show-paren-match ((,class ,@(modus-vivendi-theme-paren bg-paren-match
+                                                            
bg-paren-match-intense)
                                :foreground ,fg-main)))
    `(show-paren-match-expression ((,class :inherit modus-theme-special-calm)))
    `(show-paren-mismatch ((,class :inherit modus-theme-intense-red)))
@@ -3361,7 +3619,8 @@ Also bind `class' to ((class color) (min-colors 89))."
 ;;;;; smartparens
    `(sp-pair-overlay-face ((,class :inherit modus-theme-special-warm)))
    `(sp-show-pair-enclosing ((,class :inherit modus-theme-special-mild)))
-   `(sp-show-pair-match-face ((,class ,@(modus-vivendi-theme-paren 
bg-paren-match blue-intense-bg)
+   `(sp-show-pair-match-face ((,class ,@(modus-vivendi-theme-paren 
bg-paren-match
+                                                                   
bg-paren-match-intense)
                                       :foreground ,fg-main)))
    `(sp-show-pair-mismatch-face ((,class :inherit modus-theme-intense-red)))
    `(sp-wrap-overlay-closing-pair ((,class :inherit sp-pair-overlay-face)))
@@ -3386,6 +3645,21 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(smerge-upper ((,class ,@(modus-vivendi-theme-diffs
                               bg-main red
                               bg-diff-focus-removed fg-diff-focus-removed))))
+;;;;; spaceline
+   `(spaceline-evil-emacs ((,class :inherit modus-theme-active-magenta)))
+   `(spaceline-evil-insert ((,class :inherit modus-theme-active-green)))
+   `(spaceline-evil-motion ((,class :inherit modus-theme-active-blue)))
+   `(spaceline-evil-normal ((,class :background ,fg-alt :foreground ,bg-alt)))
+   `(spaceline-evil-replace ((,class :inherit modus-theme-active-red)))
+   `(spaceline-evil-visual ((,class :inherit modus-theme-active-cyan)))
+   `(spaceline-flycheck-error ((,class :foreground ,red-active)))
+   `(spaceline-flycheck-info ((,class :foreground ,cyan-active)))
+   `(spaceline-flycheck-warning ((,class :foreground ,yellow-active)))
+   `(spaceline-highlight-face ((,class :inherit modus-theme-fringe-blue)))
+   `(spaceline-modified ((,class :inherit modus-theme-fringe-magenta)))
+   `(spaceline-python-venv ((,class :foreground ,magenta-active)))
+   `(spaceline-read-only ((,class :inherit modus-theme-fringe-red)))
+   `(spaceline-unmodified ((,class :inherit modus-theme-fringe-cyan)))
 ;;;;; speedbar
    `(speedbar-button-face ((,class :inherit link)))
    `(speedbar-directory-face ((,class :inherit bold :foreground ,blue)))
@@ -3455,7 +3729,7 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(sx-user-name ((,class :foreground ,blue-alt)))
    `(sx-user-reputation ((,class :foreground ,fg-alt)))
 ;;;;; symbol-overlay
-   `(symbol-overlay-default-face ((,class :inherit modus-theme-refine-blue)))
+   `(symbol-overlay-default-face ((,class :inherit modus-theme-special-warm)))
    `(symbol-overlay-face-1 ((,class :inherit modus-theme-intense-blue)))
    `(symbol-overlay-face-2 ((,class :inherit modus-theme-refine-magenta)))
    `(symbol-overlay-face-3 ((,class :inherit modus-theme-intense-yellow)))
@@ -3474,13 +3748,8 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(syslog-ip ((,class :inherit bold :foreground ,fg-special-mild :underline 
t)))
    `(syslog-su ((,class :inherit bold :foreground ,red-alt)))
    `(syslog-warn ((,class :inherit bold :foreground ,yellow)))
-;;;;; trashed
-   `(trashed-deleted ((,class :inherit modus-theme-mark-del)))
-   `(trashed-directory ((,class :foreground ,blue)))
-   `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
-   `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
-   `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
-   `(trashed-symlink ((,class :foreground ,cyan-alt :underline t)))
+;;;;; table (built-in table.el)
+   `(table-cell ((,class :background ,blue-nuanced-bg)))
 ;;;;; telephone-line
    `(telephone-line-accent-active ((,class :background ,fg-inactive 
:foreground ,bg-inactive)))
    `(telephone-line-accent-inactive ((,class :background ,bg-active 
:foreground ,fg-active)))
@@ -3512,7 +3781,9 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(tomatinho-reset-face ((,class :foreground ,fg-alt)))
 ;;;;; transient
    `(transient-active-infix ((,class :inherit modus-theme-special-mild)))
+   `(transient-amaranth ((,class :inherit bold :foreground ,yellow)))
    `(transient-argument ((,class :inherit bold :foreground ,red-alt)))
+   `(transient-blue ((,class :inherit bold :foreground ,blue)))
    `(transient-disabled-suffix ((,class :inherit modus-theme-intense-red)))
    `(transient-enabled-suffix ((,class :inherit modus-theme-intense-green)))
    `(transient-heading ((,class :inherit bold :foreground ,fg-main)))
@@ -3521,9 +3792,19 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(transient-key ((,class :inherit bold :foreground ,blue)))
    `(transient-mismatched-key ((,class :underline t)))
    `(transient-nonstandard-key ((,class :underline t)))
+   `(transient-pink ((,class :inherit bold :foreground ,magenta)))
+   `(transient-red ((,class :inherit bold :foreground ,red-intense)))
+   `(transient-teal ((,class :inherit bold :foreground ,cyan-alt-other)))
    `(transient-unreachable ((,class :foreground ,fg-unfocused)))
    `(transient-unreachable-key ((,class :foreground ,fg-unfocused)))
    `(transient-value ((,class :foreground ,magenta-alt)))
+;;;;; trashed
+   `(trashed-deleted ((,class :inherit modus-theme-mark-del)))
+   `(trashed-directory ((,class :foreground ,blue)))
+   `(trashed-mark ((,class :inherit modus-theme-mark-symbol)))
+   `(trashed-marked ((,class :inherit modus-theme-mark-alt)))
+   `(trashed-restored ((,class :inherit modus-theme-mark-sel)))
+   `(trashed-symlink ((,class :foreground ,cyan-alt :underline t)))
 ;;;;; treemacs
    `(treemacs-directory-collapsed-face ((,class :foreground ,magenta-alt)))
    `(treemacs-directory-face ((,class :inherit dired-directory)))
@@ -3815,8 +4096,8 @@ Also bind `class' to ((class color) (min-colors 89))."
    `(winum-face ((,class ,@(modus-vivendi-theme-bold-weight) :foreground 
,cyan-active)))
 ;;;;; writegood-mode
    `(writegood-duplicates-face ((,class :background ,bg-alt :foreground 
,red-alt :underline t)))
-   `(writegood-passive-voice-face ((,class :foreground ,yellow-nuanced 
:underline (:color ,fg-lang-warning :style line))))
-   `(writegood-weasels-face ((,class :foreground ,red-nuanced :underline 
(:color ,fg-lang-error :style line))))
+   `(writegood-passive-voice-face ((,class :foreground ,yellow-nuanced 
:underline ,fg-lang-warning)))
+   `(writegood-weasels-face ((,class :foreground ,red-nuanced :underline 
,fg-lang-error)))
 ;;;;; woman
    `(woman-addition ((,class :foreground ,magenta-alt-other)))
    `(woman-bold ((,class :inherit bold :foreground ,magenta)))
@@ -3858,6 +4139,12 @@ Also bind `class' to ((class color) (min-colors 89))."
   (when (>= emacs-major-version 27)
     (custom-theme-set-faces
      'modus-vivendi
+;;;;; line numbers (`display-line-numbers-mode' and global variant)
+     ;; NOTE that this is specifically for the faces that were
+     ;; introduced in Emacs 27, as the other faces are already
+     ;; supported.
+     `(line-number-major-tick ((,class (:background ,yellow-nuanced-bg 
:foreground ,yellow-nuanced))))
+     `(line-number-minor-tick ((,class (:background ,cyan-nuanced-bg 
:foreground ,cyan-nuanced))))
 ;;;;; tab-bar-mode
      `(tab-bar ((,class :background ,bg-tab-bar :foreground ,fg-main)))
      `(tab-bar-tab ((,class :inherit bold :box (:line-width 2 :color 
,bg-tab-active)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]