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

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

[elpa] externals/modus-themes acd951f8cb: Add two new themes optimised f


From: ELPA Syncer
Subject: [elpa] externals/modus-themes acd951f8cb: Add two new themes optimised for tritanopia (blue-yellow colour deficiency)
Date: Thu, 18 May 2023 01:59:01 -0400 (EDT)

branch: externals/modus-themes
commit acd951f8cbf45ab17515e3c87994cbb322ce29d5
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>

    Add two new themes optimised for tritanopia (blue-yellow colour deficiency)
    
    Check my website for screenshots.  I will post them on the coding
    blog.  Also on this page: 
<https://protesilaos.com/emacs/modus-themes-pictures>.
---
 doc/modus-themes.info              | 271 ++++++++++++-----------
 doc/modus-themes.org               |  25 ++-
 modus-operandi-tritanopia-theme.el | 442 +++++++++++++++++++++++++++++++++++++
 modus-themes.el                    |   5 +-
 modus-vivendi-tritanopia-theme.el  | 441 ++++++++++++++++++++++++++++++++++++
 5 files changed, 1053 insertions(+), 131 deletions(-)

diff --git a/doc/modus-themes.info b/doc/modus-themes.info
index 743bd3bb58..ba3fcb6275 100644
--- a/doc/modus-themes.info
+++ b/doc/modus-themes.info
@@ -232,7 +232,8 @@ background and foreground values.  For small sized text, 
this
 corresponds to the WCAG AAA standard, which specifies a minimum rate of
 distance in relative luminance of 7:1.
 
-   The Modus themes consist of six themes, divided into three subgroups.
+   The Modus themes consist of eight themes, divided into four
+subgroups.
 
 Main themes
      ‘modus-operandi’ is the project’s main light theme, while
@@ -259,6 +260,15 @@ Deuteranopia themes
      users with deueteranopia or deuteranomaly (mostly yellow and blue
      hues).
 
+Tritanopia themes
+     ‘modus-operandi-tritanopia’ and its counterpart
+     ‘modus-vivendi-tritanopia’ are optimized for users with blue-yellow
+     color deficiency.  The idea is the same as with the deuteranopia
+     variants: color coding relies only on hues that are accessible to
+     people with tritanopia or tritanomaly.
+
+   [ The tritanopia themes are part of 4.2.0-dev.  ]
+
    To ensure that users have a consistently accessible experience, the
 themes strive to achieve as close to full face coverage as possible,
 while still targeting a curated list of well-maintained packages (*note
@@ -1216,12 +1226,18 @@ variable is ‘THEME-NAME-palette-overrides’, thus 
yielding:
 
    • ‘modus-operandi-tinted-palette-overrides’
 
+   • ‘modus-operandi-tritanopia-palette-overrides’
+
    • ‘modus-vivendi-palette-overrides’
 
    • ‘modus-vivendi-deuteranopia-palette-overrides’
 
    • ‘modus-vivendi-tinted-palette-overrides’
 
+   • ‘modus-vivendi-tritanopia-palette-overrides’
+
+   [ The tritanopia themes are part of 4.2.0-dev.  ]
+
    Theme-specific overrides take precedence over the shared ones.  It is
 strongly advised that shared overrides do NOT alter color values, as
 those will not be appropriate for both dark and light themes.  Common
@@ -5265,9 +5281,10 @@ themes remains consistent.
 
    The former criterion should be crystal clear as it pertains to the
 scientific foundations of the themes: high legibility and taking care of
-the needs of users with red-green color deficiency (deuteranopia) by
-avoiding red+green color coding paradigms and/or by providing
-yellow+blue variants (*note Overview::).
+the needs of users with red-green/blue-yellow color deficiency
+(deuteranopia and tritanopia) by avoiding red+green color coding
+paradigms and/or by providing yellow+blue variants for deuteranopia and
+red+cyan for tritanopia (*note Overview::).
 
    The latter criterion is the “je ne sais quoi” of the artistic aspect
 of the themes, which is partially fleshed out in this manual.
@@ -6025,6 +6042,8 @@ B.2 Variable index
                                                                (line 30)
 * modus-operandi-palette-overrides:      Palette overrides.    (line 28)
 * modus-operandi-tinted-palette-overrides: Palette overrides.  (line 32)
+* modus-operandi-tritanopia-palette-overrides: Palette overrides.
+                                                               (line 34)
 * modus-themes-after-load-theme-hook:    Enable and load.      (line  6)
 * modus-themes-bold-constructs:          Bold constructs.      (line  6)
 * modus-themes-common-palette-overrides: Palette overrides.    (line 22)
@@ -6046,9 +6065,11 @@ B.2 Variable index
 * modus-themes-prompts:                  Command prompts.      (line  6)
 * modus-themes-variable-pitch-ui:        UI typeface.          (line  6)
 * modus-vivendi-deuteranopia-palette-overrides: Palette overrides.
-                                                               (line 36)
-* modus-vivendi-palette-overrides:       Palette overrides.    (line 34)
-* modus-vivendi-tinted-palette-overrides: Palette overrides.   (line 38)
+                                                               (line 38)
+* modus-vivendi-palette-overrides:       Palette overrides.    (line 36)
+* modus-vivendi-tinted-palette-overrides: Palette overrides.   (line 40)
+* modus-vivendi-tritanopia-palette-overrides: Palette overrides.
+                                                               (line 42)
 
 
 File: modus-themes.info,  Node: Concept index,  Prev: Variable index,  Up: 
Indices
@@ -6122,124 +6143,124 @@ B.3 Concept index
 Tag Table:
 Node: Top874
 Node: Overview8129
-Node: How do the themes look like10527
-Node: Learn about the latest changes10886
-Node: Installation11274
-Node: Install manually from source12204
-Node: Install from the archives13029
-Node: Install on GNU/Linux13628
-Node: Debian 11 Bullseye14121
-Node: GNU Guix14531
-Node: Dealing with byte compilation errors14814
-Node: Enable and load15972
-Node: The require-theme for built-in Emacs themes18826
-Node: Sample configuration with and without use-package19946
-Node: Differences between loading and enabling22857
-Node: Customization options24895
-Node: Custom reload theme28643
-Node: Disable other themes29551
-Node: Bold constructs30731
-Node: Italic constructs31568
-Node: Mixed fonts32339
-Node: Command prompts33335
-Node: Completion UIs35140
-Node: Org mode blocks37930
-Node: Heading styles39810
-Node: UI typeface44164
-Node: Palette overrides45095
-Node: Advanced customization49315
-Node: Palette override presets50978
-Node: Stylistic variants using palette overrides53852
-Node: Make the mode line borderless55764
-Node: Make the active mode line colorful57366
-Node: Make the tab bar more or less colorful59311
-Node: Make the fringe invisible or another color61542
-Node: Make links use subtle or no underlines63036
-Node: Make prompts more or less colorful64033
-Node: Make completion matches more or less colorful65697
-Node: Make comments yellow and strings green69597
-Node: Make code syntax use the old alt-syntax style71500
-Node: Make use of alternative styles for code syntax74781
-Node: Make matching parenthesis more or less intense78445
-Node: Make box buttons more or less gray79881
-Node: Make TODO and DONE more or less intense81187
-Node: Make headings more or less colorful82890
-Node: Make Org agenda more or less colorful85290
-Node: Make inline code in prose use alternative styles88750
-Node: Make mail citations and headers more or less colorful91291
-Node: Make the region preserve text colors plus other styles93986
-Node: Make mouse highlights more or less colorful95797
-Node: Make language underlines less colorful97104
-Node: Make line numbers use alternative styles98550
-Node: Make diffs use only a foreground100487
-Node: Make deuteranopia diffs red and blue instead of yellow and blue103257
-Node: Make the themes look like what the maintainer uses105679
-Node: More accurate colors in terminal emulators110377
-Node: Range of color with terminal emulators111669
-Node: Preview theme colors114383
-Node: Per-theme customization settings116228
-Node: Get a single color from the palette117574
-Node: Use theme colors in code with modus-themes-with-colors119883
-Node: Do not extend the region background122216
-Node: Add padding to mode line123014
-Node: Remap face with local value125572
-Node: Font configurations for Org and others127995
-Ref: Font configurations for Org and others-Footnote-1130904
-Node: Configure bold and italic faces131091
-Node: Custom Org todo keyword and priority faces135248
-Node: Custom Org emphasis faces138813
-Node: Update Org block delimiter fontification143636
-Node: Measure color contrast145553
-Node: Load theme depending on time of day148251
-Node: Backdrop for pdf-tools149261
-Node: Toggle themes without reloading them152160
-Node: A theme-agnostic hook for theme loading153436
-Node: Use more spacious margins or padding in Emacs frames155889
-Node: Custom hl-todo colors159775
-Node: Add support for solaire-mode161313
-Node: Face coverage164224
-Node: Supported packages164676
-Node: Indirectly covered packages170189
-Node: Notes on individual packages171542
-Node: Note on calendarel weekday and weekend colors172642
-Node: Note on git-gutter in Doom Emacs173790
-Node: Note on php-mode multiline comments176131
-Node: Note on underlines in compilation buffers176884
-Node: Note on inline Latex in Org buffers177721
-Node: Note on dimmerel178331
-Node: Note on display-fill-column-indicator-mode179816
-Node: Note on highlight-parenthesesel181215
-Node: Note on mmm-modeel background colors187193
-Node: Note for prism189493
-Node: Note on company-mode overlay pop-up192661
-Ref: Note on company-mode overlay pop-up-Footnote-1193391
-Ref: Note on company-mode overlay pop-up-Footnote-2193458
-Node: Note on ERC escaped color sequences193513
-Ref: Note on ERC escaped color sequences-Footnote-1194941
-Node: Note on powerline or spaceline195051
-Node: Note on SHR colors195465
-Node: Note on SHR fonts195889
-Node: Note on Ement colors and fonts196528
-Node: Note on pdf-tools link hints198038
-Node: Note on the Notmuch logo200498
-Node: Note on goto-address-mode faces201036
-Node: Frequently Asked Questions202148
-Node: Is the contrast ratio about adjacent colors?202779
-Node: What does it mean to avoid exaggerations?204286
-Node: Why are colors mostly variants of blue magenta cyan?206136
-Node: What is the best setup for legibility?210442
-Node: Are these color schemes?213087
-Node: Port the Modus themes to other platforms?216769
-Node: Contributing219541
-Node: Sources of the themes219938
-Node: Issues you can help with220832
-Node: Patches require copyright assignment to the FSF222223
-Node: Acknowledgements224443
-Node: GNU Free Documentation License228501
-Node: Indices253865
-Node: Function index254044
-Node: Variable index255227
-Node: Concept index257406
+Node: How do the themes look like10920
+Node: Learn about the latest changes11279
+Node: Installation11667
+Node: Install manually from source12597
+Node: Install from the archives13422
+Node: Install on GNU/Linux14021
+Node: Debian 11 Bullseye14514
+Node: GNU Guix14924
+Node: Dealing with byte compilation errors15207
+Node: Enable and load16365
+Node: The require-theme for built-in Emacs themes19219
+Node: Sample configuration with and without use-package20339
+Node: Differences between loading and enabling23250
+Node: Customization options25288
+Node: Custom reload theme29036
+Node: Disable other themes29944
+Node: Bold constructs31124
+Node: Italic constructs31961
+Node: Mixed fonts32732
+Node: Command prompts33728
+Node: Completion UIs35533
+Node: Org mode blocks38323
+Node: Heading styles40203
+Node: UI typeface44557
+Node: Palette overrides45488
+Node: Advanced customization49877
+Node: Palette override presets51540
+Node: Stylistic variants using palette overrides54414
+Node: Make the mode line borderless56326
+Node: Make the active mode line colorful57928
+Node: Make the tab bar more or less colorful59873
+Node: Make the fringe invisible or another color62104
+Node: Make links use subtle or no underlines63598
+Node: Make prompts more or less colorful64595
+Node: Make completion matches more or less colorful66259
+Node: Make comments yellow and strings green70159
+Node: Make code syntax use the old alt-syntax style72062
+Node: Make use of alternative styles for code syntax75343
+Node: Make matching parenthesis more or less intense79007
+Node: Make box buttons more or less gray80443
+Node: Make TODO and DONE more or less intense81749
+Node: Make headings more or less colorful83452
+Node: Make Org agenda more or less colorful85852
+Node: Make inline code in prose use alternative styles89312
+Node: Make mail citations and headers more or less colorful91853
+Node: Make the region preserve text colors plus other styles94548
+Node: Make mouse highlights more or less colorful96359
+Node: Make language underlines less colorful97666
+Node: Make line numbers use alternative styles99112
+Node: Make diffs use only a foreground101049
+Node: Make deuteranopia diffs red and blue instead of yellow and blue103819
+Node: Make the themes look like what the maintainer uses106241
+Node: More accurate colors in terminal emulators110939
+Node: Range of color with terminal emulators112231
+Node: Preview theme colors114945
+Node: Per-theme customization settings116790
+Node: Get a single color from the palette118136
+Node: Use theme colors in code with modus-themes-with-colors120445
+Node: Do not extend the region background122778
+Node: Add padding to mode line123576
+Node: Remap face with local value126134
+Node: Font configurations for Org and others128557
+Ref: Font configurations for Org and others-Footnote-1131466
+Node: Configure bold and italic faces131653
+Node: Custom Org todo keyword and priority faces135810
+Node: Custom Org emphasis faces139375
+Node: Update Org block delimiter fontification144198
+Node: Measure color contrast146115
+Node: Load theme depending on time of day148813
+Node: Backdrop for pdf-tools149823
+Node: Toggle themes without reloading them152722
+Node: A theme-agnostic hook for theme loading153998
+Node: Use more spacious margins or padding in Emacs frames156451
+Node: Custom hl-todo colors160337
+Node: Add support for solaire-mode161875
+Node: Face coverage164786
+Node: Supported packages165238
+Node: Indirectly covered packages170751
+Node: Notes on individual packages172104
+Node: Note on calendarel weekday and weekend colors173204
+Node: Note on git-gutter in Doom Emacs174352
+Node: Note on php-mode multiline comments176693
+Node: Note on underlines in compilation buffers177446
+Node: Note on inline Latex in Org buffers178283
+Node: Note on dimmerel178893
+Node: Note on display-fill-column-indicator-mode180378
+Node: Note on highlight-parenthesesel181777
+Node: Note on mmm-modeel background colors187755
+Node: Note for prism190055
+Node: Note on company-mode overlay pop-up193223
+Ref: Note on company-mode overlay pop-up-Footnote-1193953
+Ref: Note on company-mode overlay pop-up-Footnote-2194020
+Node: Note on ERC escaped color sequences194075
+Ref: Note on ERC escaped color sequences-Footnote-1195503
+Node: Note on powerline or spaceline195613
+Node: Note on SHR colors196027
+Node: Note on SHR fonts196451
+Node: Note on Ement colors and fonts197090
+Node: Note on pdf-tools link hints198600
+Node: Note on the Notmuch logo201060
+Node: Note on goto-address-mode faces201598
+Node: Frequently Asked Questions202710
+Node: Is the contrast ratio about adjacent colors?203341
+Node: What does it mean to avoid exaggerations?204848
+Node: Why are colors mostly variants of blue magenta cyan?206698
+Node: What is the best setup for legibility?211004
+Node: Are these color schemes?213649
+Node: Port the Modus themes to other platforms?217331
+Node: Contributing220175
+Node: Sources of the themes220572
+Node: Issues you can help with221466
+Node: Patches require copyright assignment to the FSF222857
+Node: Acknowledgements225077
+Node: GNU Free Documentation License229135
+Node: Indices254499
+Node: Function index254678
+Node: Variable index255861
+Node: Concept index258317
 
 End Tag Table
 
diff --git a/doc/modus-themes.org b/doc/modus-themes.org
index 3afe666994..65e56b440b 100644
--- a/doc/modus-themes.org
+++ b/doc/modus-themes.org
@@ -77,7 +77,7 @@ combinations of background and foreground values.  For small 
sized
 text, this corresponds to the WCAG AAA standard, which specifies a
 minimum rate of distance in relative luminance of 7:1.
 
-The Modus themes consist of six themes, divided into three subgroups.
+The Modus themes consist of eight themes, divided into four subgroups.
 
 - Main themes :: ~modus-operandi~ is the project's main light theme,
   while ~modus-vivendi~ is its dark counterpart.  These two themes are
@@ -101,6 +101,14 @@ The Modus themes consist of six themes, divided into three 
subgroups.
   users with deueteranopia or deuteranomaly (mostly yellow and blue
   hues).
 
+- Tritanopia themes :: ~modus-operandi-tritanopia~ and its counterpart
+  ~modus-vivendi-tritanopia~ are optimized for users with blue-yellow
+  color deficiency.  The idea is the same as with the deuteranopia
+  variants: color coding relies only on hues that are accessible to
+  people with tritanopia or tritanomaly.
+
+[ The tritanopia themes are part of {{{development-version}}}. ]
+
 To ensure that users have a consistently accessible experience, the
 themes strive to achieve as close to full face coverage as possible,
 while still targeting a curated list of well-maintained packages
@@ -1068,6 +1076,9 @@ palette variable is =THEME-NAME-palette-overrides=, thus 
yielding:
 #+vindex: modus-operandi-tinted-palette-overrides
 + ~modus-operandi-tinted-palette-overrides~
 
+#+vindex: modus-operandi-tritanopia-palette-overrides
++ ~modus-operandi-tritanopia-palette-overrides~
+
 #+vindex: modus-vivendi-palette-overrides
 + ~modus-vivendi-palette-overrides~
 
@@ -1077,6 +1088,11 @@ palette variable is =THEME-NAME-palette-overrides=, thus 
yielding:
 #+vindex: modus-vivendi-tinted-palette-overrides
 + ~modus-vivendi-tinted-palette-overrides~
 
+#+vindex: modus-vivendi-tritanopia-palette-overrides
++ ~modus-vivendi-tritanopia-palette-overrides~
+
+[ The tritanopia themes are part of {{{development-version}}}. ]
+
 Theme-specific overrides take precedence over the shared ones.  It is
 strongly advised that shared overrides do NOT alter color values, as
 those will not be appropriate for both dark and light themes.  Common
@@ -5170,9 +5186,10 @@ themes remains consistent.
 
 The former criterion should be crystal clear as it pertains to the
 scientific foundations of the themes: high legibility and taking care
-of the needs of users with red-green color deficiency (deuteranopia)
-by avoiding red+green color coding paradigms and/or by providing
-yellow+blue variants ([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]]).
+of the needs of users with red-green/blue-yellow color deficiency
+(deuteranopia and tritanopia) by avoiding red+green color coding
+paradigms and/or by providing yellow+blue variants for deuteranopia
+and red+cyan for tritanopia 
([[#h:f0f3dbcb-602d-40cf-b918-8f929c441baf][Overview]]).
 
 The latter criterion is the "je ne sais quoi" of the artistic aspect of
 the themes, which is partially fleshed out in this manual.
diff --git a/modus-operandi-tritanopia-theme.el 
b/modus-operandi-tritanopia-theme.el
new file mode 100644
index 0000000000..e14d76fadd
--- /dev/null
+++ b/modus-operandi-tritanopia-theme.el
@@ -0,0 +1,442 @@
+;;; modus-operandi-tritanopia-theme.el --- Tritanopia-optimized theme with a 
white background -*- lexical-binding:t -*-
+
+;; Copyright (C) 2019-2023  Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
+;; URL: https://git.sr.ht/~protesilaos/modus-themes
+;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
+;; Keywords: faces, theme, accessibility
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; The Modus themes conform with the highest standard for
+;; color-contrast accessibility between background and foreground
+;; values (WCAG AAA).  Please refer to the official Info manual for
+;; further documentation (distributed with the themes, or available
+;; at: <https://protesilaos.com/emacs/modus-themes>).
+
+;;; Code:
+
+
+
+(eval-and-compile
+  (unless (and (fboundp 'require-theme)
+               load-file-name
+               (equal (file-name-directory load-file-name)
+                      (expand-file-name "themes/" data-directory))
+               (require-theme 'modus-themes t))
+    (require 'modus-themes))
+
+  (deftheme modus-operandi-tritanopia
+    "Tritanopia-optimized theme with a white background.
+This variant is optimized for users with blue-yellow color
+deficiency (tritanopia).  It conforms with the highest
+legibility standard for color contrast between background and
+foreground in any given piece of text, which corresponds to a
+minimum contrast in relative luminance of 7:1 (WCAG AAA
+standard).")
+
+  (defconst modus-operandi-tritanopia-palette
+    '(
+;;; Basic values
+
+      (bg-main          "#ffffff")
+      (bg-dim           "#f0f0f0")
+      (fg-main          "#000000")
+      (fg-dim           "#595959")
+      (fg-alt           "#193668")
+      (bg-active        "#c4c4c4")
+      (bg-inactive      "#e0e0e0")
+      (border           "#9f9f9f")
+
+;;; Common accent foregrounds
+
+      (red             "#a60000")
+      (red-warmer      "#b21100")
+      (red-cooler      "#a0132f")
+      (red-faint       "#702000")
+      (red-intense     "#d00000")
+      (green           "#006800")
+      (green-warmer    "#316500")
+      (green-cooler    "#00663f")
+      (green-faint     "#2a5045")
+      (green-intense   "#008900")
+      (yellow          "#695500")
+      (yellow-warmer   "#973300")
+      (yellow-cooler   "#77492f")
+      (yellow-faint    "#624416")
+      (yellow-intense  "#808000")
+      (blue            "#0031a9")
+      (blue-warmer     "#3548cf")
+      (blue-cooler     "#0000b0")
+      (blue-faint      "#003497")
+      (blue-intense    "#0000ff")
+      (magenta         "#721045")
+      (magenta-warmer  "#8f0075")
+      (magenta-cooler  "#531ab6")
+      (magenta-faint   "#7c318f")
+      (magenta-intense "#cd22bd")
+      (cyan            "#005e8b")
+      (cyan-warmer     "#3f578f")
+      (cyan-cooler     "#005f5f")
+      (cyan-faint      "#004f5f")
+      (cyan-intense    "#008899")
+
+;;; Uncommon accent foregrounds
+
+      (rust       "#8a290f")
+      (gold       "#80601f")
+      (olive      "#56692d")
+      (slate      "#2f3f83")
+      (indigo     "#4a3a8a")
+      (maroon     "#731c52")
+      (pink       "#7b435c")
+
+;;; Common accent backgrounds
+
+      (bg-red-intense     "#ff8f88")
+      (bg-green-intense   "#8adf80")
+      (bg-yellow-intense  "#f3d000")
+      (bg-blue-intense    "#bfc9ff")
+      (bg-magenta-intense "#dfa0f0")
+      (bg-cyan-intense    "#a4d5f9")
+
+      (bg-red-subtle      "#ffcfbf")
+      (bg-green-subtle    "#b3fabf")
+      (bg-yellow-subtle   "#fff576")
+      (bg-blue-subtle     "#ccdfff")
+      (bg-magenta-subtle  "#ffddff")
+      (bg-cyan-subtle     "#bfefff")
+
+      (bg-red-nuanced     "#fff1f0")
+      (bg-green-nuanced   "#ecf7ed")
+      (bg-yellow-nuanced  "#fff3da")
+      (bg-blue-nuanced    "#f3f3ff")
+      (bg-magenta-nuanced "#fdf0ff")
+      (bg-cyan-nuanced    "#ebf6fa")
+
+;;; Uncommon accent backgrounds
+
+      (bg-ochre    "#f0e0cc")
+      (bg-lavender "#dfdbfa")
+      (bg-sage     "#c0e7d4")
+
+;;; Graphs
+
+      (bg-graph-red-0     "#ef7969")
+      (bg-graph-red-1     "#ffaab4")
+      (bg-graph-green-0   "#70c3b0")
+      (bg-graph-green-1   "#a3dfe5")
+      (bg-graph-yellow-0  "#d99f9f")
+      (bg-graph-yellow-1  "#ffb58f")
+      (bg-graph-blue-0    "#80a0df")
+      (bg-graph-blue-1    "#9fcaff")
+      (bg-graph-magenta-0 "#efafcf")
+      (bg-graph-magenta-1 "#ffdaef")
+      (bg-graph-cyan-0    "#7fd3ed")
+      (bg-graph-cyan-1    "#afefff")
+
+;;; Special purpose
+
+      (bg-completion       "#afdfef")
+      (bg-hover            "#ffafbc")
+      (bg-hover-secondary  "#9fdfff")
+      (bg-hl-line          "#dfeaec")
+      (bg-region           "#bdbdbd")
+      (fg-region           "#000000")
+
+      (bg-char-0 "#ff8a5f")
+      (bg-char-1 "#bf7aff")
+      (bg-char-2 "#7fe0e0")
+
+      (bg-mode-line-active        "#afe0f2")
+      (fg-mode-line-active        "#0f0f0f")
+      (border-mode-line-active    "#2f4f44")
+      (bg-mode-line-inactive      "#e6e6e6")
+      (fg-mode-line-inactive      "#585858")
+      (border-mode-line-inactive  "#a3a3a3")
+
+      (modeline-err     "#8f0000")
+      (modeline-warning "#6f306f")
+      (modeline-info    "#00445f")
+
+      (bg-tab-bar      "#dfdfdf")
+      (bg-tab-current  "#ffffff")
+      (bg-tab-other    "#c2c2c2")
+
+;;; Diffs
+
+      (bg-added           "#b5e7ff")
+      (bg-added-faint     "#c6f6ff")
+      (bg-added-refine    "#9adcef")
+      (bg-added-fringe    "#1782cc")
+      (fg-added           "#005079")
+      (fg-added-intense   "#0043aa")
+
+      (bg-changed         "#eecfdf")
+      (bg-changed-faint   "#f0dde5")
+      (bg-changed-refine  "#e0b0d0")
+      (bg-changed-fringe  "#9f6ab0")
+      (fg-changed         "#6f1343")
+      (fg-changed-intense "#7f0f9f")
+
+      (bg-removed         "#ffd8d5")
+      (bg-removed-faint   "#ffe9e9")
+      (bg-removed-refine  "#f3b5af")
+      (bg-removed-fringe  "#d84a4f")
+      (fg-removed         "#8f1313")
+      (fg-removed-intense "#aa2222")
+
+      (bg-diff-context    "#f3f3f3")
+
+;;; Paren match
+
+      (bg-paren-match        "#5fcfff")
+      (bg-paren-expression   "#efd3f5")
+      (underline-paren-match unspecified)
+
+;;; Mappings
+
+;;;; General mappings
+
+      (fringe bg-dim)
+      (cursor red-intense)
+
+      (keybind red)
+      (name red-cooler)
+      (identifier red-faint)
+
+      (err red-warmer)
+      (warning magenta)
+      (info cyan)
+
+      (underline-err red-intense)
+      (underline-warning magenta-intense)
+      (underline-note cyan-intense)
+
+      (bg-prominent-err bg-red-intense)
+      (fg-prominent-err fg-main)
+      (bg-prominent-warning bg-magenta-intense)
+      (fg-prominent-warning fg-main)
+      (bg-prominent-note bg-cyan-intense)
+      (fg-prominent-note fg-main)
+
+;;;; Code mappings
+
+      (builtin magenta)
+      (comment red-faint)
+      (constant green-cooler)
+      (docstring fg-alt)
+      (docmarkup magenta-faint)
+      (fnname cyan-warmer)
+      (keyword red-cooler)
+      (preprocessor red-warmer)
+      (string cyan)
+      (type blue-warmer)
+      (variable cyan-cooler)
+      (rx-construct red)
+      (rx-backslash magenta)
+
+;;;; Accent mappings
+
+      (accent-0 cyan)
+      (accent-1 red-warmer)
+      (accent-2 cyan-cooler)
+      (accent-3 magenta)
+
+;;;; Button mappings
+
+      (fg-button-active fg-main)
+      (fg-button-inactive fg-dim)
+      (bg-button-active bg-active)
+      (bg-button-inactive bg-dim)
+
+;;;; Completion mappings
+
+      (fg-completion-match-0 cyan)
+      (fg-completion-match-1 red-warmer)
+      (fg-completion-match-2 magenta)
+      (fg-completion-match-3 cyan-cooler)
+      (bg-completion-match-0 unspecified)
+      (bg-completion-match-1 unspecified)
+      (bg-completion-match-2 unspecified)
+      (bg-completion-match-3 unspecified)
+
+;;;; Date mappings
+
+      (date-common cyan-cooler)
+      (date-deadline red)
+      (date-event fg-alt)
+      (date-holiday cyan-warmer)
+      (date-now fg-main)
+      (date-range fg-alt)
+      (date-scheduled magenta)
+      (date-weekday cyan)
+      (date-weekend red-faint)
+
+;;;; Line number mappings
+
+      (fg-line-number-inactive fg-dim)
+      (fg-line-number-active fg-main)
+      (bg-line-number-inactive bg-dim)
+      (bg-line-number-active bg-active)
+
+;;;; Link mappings
+
+      (fg-link cyan)
+      (bg-link unspecified)
+      (underline-link cyan)
+
+      (fg-link-symbolic cyan-cooler)
+      (bg-link-symbolic unspecified)
+      (underline-link-symbolic cyan-cooler)
+
+      (fg-link-visited magenta)
+      (bg-link-visited unspecified)
+      (underline-link-visited magenta)
+
+;;;; Mail mappings
+
+      (mail-cite-0 cyan-faint)
+      (mail-cite-1 red-faint)
+      (mail-cite-2 magenta-warmer)
+      (mail-cite-3 cyan-warmer)
+      (mail-part cyan-cooler)
+      (mail-recipient cyan)
+      (mail-subject red-cooler)
+      (mail-other cyan)
+
+;;;; Mark mappings
+
+      (bg-mark-delete bg-red-subtle)
+      (fg-mark-delete red)
+      (bg-mark-select bg-cyan-subtle)
+      (fg-mark-select cyan)
+      (bg-mark-other bg-magenta-subtle)
+      (fg-mark-other magenta)
+
+;;;; Prompt mappings
+
+      (fg-prompt cyan-cooler)
+      (bg-prompt unspecified)
+
+;;;; Prose mappings
+
+      (prose-block fg-dim)
+      (prose-code magenta-warmer)
+      (prose-done cyan)
+      (prose-macro red-warmer)
+      (prose-metadata fg-dim)
+      (prose-metadata-value fg-alt)
+      (prose-table fg-alt)
+      (prose-tag fg-alt)
+      (prose-todo red)
+      (prose-verbatim cyan)
+
+;;;; Rainbow mappings
+
+      (rainbow-0 cyan)
+      (rainbow-1 red)
+      (rainbow-2 cyan-warmer)
+      (rainbow-3 red-cooler)
+      (rainbow-4 cyan-cooler)
+      (rainbow-5 magenta)
+      (rainbow-6 cyan-faint)
+      (rainbow-7 magenta-faint)
+      (rainbow-8 red-faint)
+
+;;;; Space mappings
+
+      (bg-space unspecified)
+      (fg-space border)
+      (bg-space-err bg-red-intense)
+
+;;;; Heading mappings
+
+      (fg-heading-0 cyan-cooler)
+      (fg-heading-1 fg-main)
+      (fg-heading-2 red-faint)
+      (fg-heading-3 cyan-faint)
+      (fg-heading-4 magenta)
+      (fg-heading-5 green-faint)
+      (fg-heading-6 magenta-faint)
+      (fg-heading-7 cyan-warmer)
+      (fg-heading-8 fg-dim)
+
+      (bg-heading-0 unspecified)
+      (bg-heading-1 unspecified)
+      (bg-heading-2 unspecified)
+      (bg-heading-3 unspecified)
+      (bg-heading-4 unspecified)
+      (bg-heading-5 unspecified)
+      (bg-heading-6 unspecified)
+      (bg-heading-7 unspecified)
+      (bg-heading-8 unspecified)
+
+      (overline-heading-0 unspecified)
+      (overline-heading-1 unspecified)
+      (overline-heading-2 unspecified)
+      (overline-heading-3 unspecified)
+      (overline-heading-4 unspecified)
+      (overline-heading-5 unspecified)
+      (overline-heading-6 unspecified)
+      (overline-heading-7 unspecified)
+      (overline-heading-8 unspecified))
+    "The entire palette of the `modus-operandi-tritanopia' theme.
+
+Named colors have the form (COLOR-NAME HEX-VALUE) with the former
+as a symbol and the latter as a string.
+
+Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
+with both as symbols.  The latter is a named color that already
+exists in the palette and is associated with a HEX-VALUE.")
+
+  (defcustom modus-operandi-tritanopia-palette-overrides nil
+    "Overrides for `modus-operandi-tritanopia-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Modus themes,
+refer to `modus-themes-common-palette-overrides'.
+
+Theme-specific overrides take precedence over shared overrides.
+The idea of common overrides is to change semantic color
+mappings, such as to make the cursor red.  Wherea theme-specific
+overrides can also be used to change the value of a named color,
+such as what hexadecimal RGB value the red-warmer symbol
+represents."
+    :group 'modus-themes
+    :package-version '(modus-themes . "4.0.0")
+    :version "30.1"
+    :type '(repeat (list symbol (choice symbol string)))
+    :set #'modus-themes--set-option
+    :initialize #'custom-initialize-default
+    :link '(info-link "(modus-themes) Palette overrides"))
+
+  (modus-themes-theme modus-operandi-tritanopia
+                      modus-operandi-tritanopia-palette
+                      modus-operandi-tritanopia-palette-overrides)
+
+  (provide-theme 'modus-operandi-tritanopia))
+
+;;;###theme-autoload
+(put 'modus-operandi-tritanopia 'theme-properties '(:background-mode light 
:kind color-scheme :family modus))
+
+;;; modus-operandi-tritanopia-theme.el ends here
diff --git a/modus-themes.el b/modus-themes.el
index eb36466984..6984127fba 100644
--- a/modus-themes.el
+++ b/modus-themes.el
@@ -374,7 +374,8 @@ set this variable to a nil value."
 (defconst modus-themes-items
   '( modus-operandi modus-vivendi
      modus-operandi-tinted modus-vivendi-tinted
-     modus-operandi-deuteranopia modus-vivendi-deuteranopia)
+     modus-operandi-deuteranopia modus-vivendi-deuteranopia
+     modus-operandi-tritanopia modus-vivendi-tritanopia)
   "Symbols of the Modus themes.")
 
 (defcustom modus-themes-to-toggle '(modus-operandi modus-vivendi)
@@ -2277,7 +2278,7 @@ FG and BG are the main colors."
     `(doom-modeline-warning ((,c :inherit warning)))
 ;;;;; ediff
     `(ediff-current-diff-A ((,c :background ,bg-removed :foreground 
,fg-removed)))
-    `(ediff-current-diff-Ancestor ((,c :background ,bg-region))) ; TODO 
2022-11-29: Needs review
+    `(ediff-current-diff-Ancestor ((,c :background ,bg-region)))
     `(ediff-current-diff-B ((,c :background ,bg-added :foreground ,fg-added)))
     `(ediff-current-diff-C ((,c :background ,bg-changed :foreground 
,fg-changed)))
     `(ediff-even-diff-A ((,c :background ,bg-diff-context)))
diff --git a/modus-vivendi-tritanopia-theme.el 
b/modus-vivendi-tritanopia-theme.el
new file mode 100644
index 0000000000..1d48e8faa3
--- /dev/null
+++ b/modus-vivendi-tritanopia-theme.el
@@ -0,0 +1,441 @@
+;;; modus-vivendi-tritanopia-theme.el --- Tritanopia-optimized theme with a 
black background -*- lexical-binding:t -*-
+
+;; Copyright (C) 2019-2023  Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; Maintainer: Modus-Themes Development <~protesilaos/modus-themes@lists.sr.ht>
+;; URL: https://git.sr.ht/~protesilaos/modus-themes
+;; Mailing-List: https://lists.sr.ht/~protesilaos/modus-themes
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+;;
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+;;
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.
+
+;;; Commentary:
+;;
+;; The Modus themes conform with the highest standard for
+;; color-contrast accessibility between background and foreground
+;; values (WCAG AAA).  Please refer to the official Info manual for
+;; further documentation (distributed with the themes, or available
+;; at: <https://protesilaos.com/emacs/modus-themes>).
+
+;;; Code:
+
+
+
+(eval-and-compile
+  (unless (and (fboundp 'require-theme)
+               load-file-name
+               (equal (file-name-directory load-file-name)
+                      (expand-file-name "themes/" data-directory))
+               (require-theme 'modus-themes t))
+    (require 'modus-themes))
+
+  (deftheme modus-vivendi-tritanopia
+    "Tritanopia-optimized theme with a black background.
+This variant is optimized for users with blue-yellow color
+deficiency (tritanopia).  It conforms with the highest
+legibility standard for color contrast between background and
+foreground in any given piece of text, which corresponds to a
+minimum contrast in relative luminance of 7:1 (WCAG AAA
+standard).")
+
+  (defconst modus-vivendi-tritanopia-palette
+    '(
+;;; Basic values
+
+      (bg-main          "#000000")
+      (bg-dim           "#1e1e1e")
+      (fg-main          "#ffffff")
+      (fg-dim           "#989898")
+      (fg-alt           "#c6daff")
+      (bg-active        "#535353")
+      (bg-inactive      "#303030")
+      (border           "#646464")
+
+;;; Common accent foregrounds
+
+      (red             "#ff5f59")
+      (red-warmer      "#ff6740")
+      (red-cooler      "#ff6f9f")
+      (red-faint       "#ff9070")
+      (red-intense     "#ff5f5f")
+      (green           "#44bc44")
+      (green-warmer    "#70b900")
+      (green-cooler    "#00c06f")
+      (green-faint     "#88ca9f")
+      (green-intense   "#44df44")
+      (yellow          "#cabf00")
+      (yellow-warmer   "#ffa00f")
+      (yellow-cooler   "#d8af7a")
+      (yellow-faint    "#d2b580")
+      (yellow-intense  "#efef00")
+      (blue            "#2fafff")
+      (blue-warmer     "#79a8ff")
+      (blue-cooler     "#00bcff")
+      (blue-faint      "#82b0ec")
+      (blue-intense    "#338fff")
+      (magenta         "#feacd0")
+      (magenta-warmer  "#f78fe7")
+      (magenta-cooler  "#b6a0ff")
+      (magenta-faint   "#caa6df")
+      (magenta-intense "#ef7fff")
+      (cyan            "#00d3d0")
+      (cyan-warmer     "#4ae2ff")
+      (cyan-cooler     "#6ae4b9")
+      (cyan-faint      "#7fdbdf")
+      (cyan-intense    "#00eff0")
+
+;;; Uncommon accent foregrounds
+
+      (rust       "#db7b5f")
+      (gold       "#c0965b")
+      (olive      "#9cbd6f")
+      (slate      "#76afbf")
+      (indigo     "#9099d9")
+      (maroon     "#cf7fa7")
+      (pink       "#d09dc0")
+
+;;; Common accent backgrounds
+
+      (bg-red-intense     "#9d1f1f")
+      (bg-green-intense   "#2f822f")
+      (bg-yellow-intense  "#7a6100")
+      (bg-blue-intense    "#1640b0")
+      (bg-magenta-intense "#7030af")
+      (bg-cyan-intense    "#2266ae")
+
+      (bg-red-subtle      "#620f2a")
+      (bg-green-subtle    "#00422a")
+      (bg-yellow-subtle   "#4a4000")
+      (bg-blue-subtle     "#242679")
+      (bg-magenta-subtle  "#552f5f")
+      (bg-cyan-subtle     "#004065")
+
+      (bg-red-nuanced     "#2c0614")
+      (bg-green-nuanced   "#001904")
+      (bg-yellow-nuanced  "#221000")
+      (bg-blue-nuanced    "#0f0e39")
+      (bg-magenta-nuanced "#230631")
+      (bg-cyan-nuanced    "#041529")
+
+;;; Uncommon accent backgrounds
+
+      (bg-ochre    "#442c2f")
+      (bg-lavender "#38325c")
+      (bg-sage     "#0f3d30")
+
+;;; Graphs
+
+      (bg-graph-red-0     "#b52c2c")
+      (bg-graph-red-1     "#702020")
+      (bg-graph-green-0   "#afd1c0")
+      (bg-graph-green-1   "#607a8f")
+      (bg-graph-yellow-0  "#facfd6")
+      (bg-graph-yellow-1  "#b57b85")
+      (bg-graph-blue-0    "#4f9fdf")
+      (bg-graph-blue-1    "#004559")
+      (bg-graph-magenta-0 "#b6427f")
+      (bg-graph-magenta-1 "#7f506f")
+      (bg-graph-cyan-0    "#57dfea")
+      (bg-graph-cyan-1    "#00808f")
+
+;;; Special purpose
+
+      (bg-completion       "#004253")
+      (bg-hover            "#8e3e3b")
+      (bg-hover-secondary  "#00405f")
+      (bg-hl-line          "#2f3849")
+      (bg-region           "#5a5a5a")
+      (fg-region           "#ffffff")
+
+      (bg-char-0 "#922a00")
+      (bg-char-1 "#4f3f7f")
+      (bg-char-2 "#00709f")
+
+      (bg-mode-line-active        "#003c52")
+      (fg-mode-line-active        "#f0f0f0")
+      (border-mode-line-active    "#5f8fb4")
+      (bg-mode-line-inactive      "#2d2d2d")
+      (fg-mode-line-inactive      "#969696")
+      (border-mode-line-inactive  "#606060")
+
+      (modeline-err     "#ff7fbf")
+      (modeline-warning "#df9f93")
+      (modeline-info    "#4fcfef")
+
+      (bg-tab-bar      "#313131")
+      (bg-tab-current  "#000000")
+      (bg-tab-other    "#545454")
+
+;;; Diffs
+
+      (bg-added           "#004254")
+      (bg-added-faint     "#003042")
+      (bg-added-refine    "#004f7f")
+      (bg-added-fringe    "#008fcf")
+      (fg-added           "#9fdfdf")
+      (fg-added-intense   "#50c0ef")
+
+      (bg-changed         "#2f123f")
+      (bg-changed-faint   "#1f022f")
+      (bg-changed-refine  "#3f325f")
+      (bg-changed-fringe  "#7f55a0")
+      (fg-changed         "#e3cfff")
+      (fg-changed-intense "#cf9fe2")
+
+      (bg-removed         "#4f1119")
+      (bg-removed-faint   "#380a0f")
+      (bg-removed-refine  "#781a1f")
+      (bg-removed-fringe  "#b81a1f")
+      (fg-removed         "#ffbfbf")
+      (fg-removed-intense "#ff9095")
+
+      (bg-diff-context    "#1a1a1a")
+
+;;; Paren match
+
+      (bg-paren-match        "#2f7f9f")
+      (bg-paren-expression   "#453040")
+      (underline-paren-match unspecified)
+
+;;; Mappings
+
+;;;; General mappings
+
+      (fringe bg-dim)
+      (cursor red-intense)
+
+      (keybind red)
+      (name red-cooler)
+      (identifier red-faint)
+
+      (err red-warmer)
+      (warning magenta)
+      (info cyan)
+
+      (underline-err red-intense)
+      (underline-warning magenta-intense)
+      (underline-note cyan-intense)
+
+      (bg-prominent-err bg-red-intense)
+      (fg-prominent-err fg-main)
+      (bg-prominent-warning bg-magenta-intense)
+      (fg-prominent-warning fg-main)
+      (bg-prominent-note bg-cyan-intense)
+      (fg-prominent-note fg-main)
+
+;;;; Code mappings
+
+      (builtin magenta)
+      (comment red-faint)
+      (constant green-faint)
+      (docstring fg-alt)
+      (docmarkup magenta-faint)
+      (fnname cyan-warmer)
+      (keyword red-cooler)
+      (preprocessor red-warmer)
+      (string cyan)
+      (type blue-warmer)
+      (variable cyan-cooler)
+      (rx-construct red)
+      (rx-backslash magenta)
+
+;;;; Accent mappings
+
+      (accent-0 cyan)
+      (accent-1 red-warmer)
+      (accent-2 cyan-cooler)
+      (accent-3 magenta)
+
+;;;; Button mappings
+
+      (fg-button-active fg-main)
+      (fg-button-inactive fg-dim)
+      (bg-button-active bg-active)
+      (bg-button-inactive bg-dim)
+
+;;;; Completion mappings
+
+      (fg-completion-match-0 cyan)
+      (fg-completion-match-1 red-warmer)
+      (fg-completion-match-2 magenta)
+      (fg-completion-match-3 cyan-cooler)
+      (bg-completion-match-0 unspecified)
+      (bg-completion-match-1 unspecified)
+      (bg-completion-match-2 unspecified)
+      (bg-completion-match-3 unspecified)
+
+;;;; Date mappings
+
+      (date-common cyan-cooler)
+      (date-deadline red)
+      (date-event fg-alt)
+      (date-holiday cyan-warmer)
+      (date-now fg-main)
+      (date-range fg-alt)
+      (date-scheduled magenta)
+      (date-weekday cyan)
+      (date-weekend red-faint)
+
+;;;; Line number mappings
+
+      (fg-line-number-inactive fg-dim)
+      (fg-line-number-active fg-main)
+      (bg-line-number-inactive bg-dim)
+      (bg-line-number-active bg-active)
+
+;;;; Link mappings
+
+      (fg-link cyan)
+      (bg-link unspecified)
+      (underline-link cyan)
+
+      (fg-link-symbolic cyan-cooler)
+      (bg-link-symbolic unspecified)
+      (underline-link-symbolic cyan-cooler)
+
+      (fg-link-visited magenta)
+      (bg-link-visited unspecified)
+      (underline-link-visited magenta)
+
+;;;; Mail mappings
+
+      (mail-cite-0 cyan-faint)
+      (mail-cite-1 red-faint)
+      (mail-cite-2 magenta-warmer)
+      (mail-cite-3 cyan-warmer)
+      (mail-part cyan-cooler)
+      (mail-recipient cyan)
+      (mail-subject red-cooler)
+      (mail-other cyan)
+
+;;;; Mark mappings
+
+      (bg-mark-delete bg-red-subtle)
+      (fg-mark-delete red)
+      (bg-mark-select bg-cyan-subtle)
+      (fg-mark-select cyan)
+      (bg-mark-other bg-magenta-subtle)
+      (fg-mark-other magenta-warmer)
+
+;;;; Prompt mappings
+
+      (fg-prompt cyan-cooler)
+      (bg-prompt unspecified)
+
+;;;; Prose mappings
+
+      (prose-block fg-dim)
+      (prose-code magenta-warmer)
+      (prose-done cyan)
+      (prose-macro red-warmer)
+      (prose-metadata fg-dim)
+      (prose-metadata-value fg-alt)
+      (prose-table fg-alt)
+      (prose-tag fg-alt)
+      (prose-todo red)
+      (prose-verbatim cyan)
+
+;;;; Rainbow mappings
+
+      (rainbow-0 cyan)
+      (rainbow-1 red)
+      (rainbow-2 cyan-warmer)
+      (rainbow-3 red-cooler)
+      (rainbow-4 cyan-cooler)
+      (rainbow-5 magenta)
+      (rainbow-6 cyan-faint)
+      (rainbow-7 magenta-faint)
+      (rainbow-8 red-faint)
+
+;;;; Space mappings
+
+      (bg-space unspecified)
+      (fg-space border)
+      (bg-space-err bg-red-intense)
+
+;;;; Heading mappings
+
+      (fg-heading-0 cyan-cooler)
+      (fg-heading-1 fg-main)
+      (fg-heading-2 red-faint)
+      (fg-heading-3 cyan-faint)
+      (fg-heading-4 magenta)
+      (fg-heading-5 green-faint)
+      (fg-heading-6 magenta-faint)
+      (fg-heading-7 cyan-faint)
+      (fg-heading-8 fg-dim)
+
+      (bg-heading-0 unspecified)
+      (bg-heading-1 unspecified)
+      (bg-heading-2 unspecified)
+      (bg-heading-3 unspecified)
+      (bg-heading-4 unspecified)
+      (bg-heading-5 unspecified)
+      (bg-heading-6 unspecified)
+      (bg-heading-7 unspecified)
+      (bg-heading-8 unspecified)
+
+      (overline-heading-0 unspecified)
+      (overline-heading-1 unspecified)
+      (overline-heading-2 unspecified)
+      (overline-heading-3 unspecified)
+      (overline-heading-4 unspecified)
+      (overline-heading-5 unspecified)
+      (overline-heading-6 unspecified)
+      (overline-heading-7 unspecified)
+      (overline-heading-8 unspecified))
+    "The entire palette of the `modus-vivendi-tritanopia' theme.
+
+Named colors have the form (COLOR-NAME HEX-VALUE) with the former
+as a symbol and the latter as a string.
+
+Semantic color mappings have the form (MAPPING-NAME COLOR-NAME)
+with both as symbols.  The latter is a named color that already
+exists in the palette and is associated with a HEX-VALUE.")
+
+  (defcustom modus-vivendi-tritanopia-palette-overrides nil
+    "Overrides for `modus-vivendi-tritanopia-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Modus themes,
+refer to `modus-themes-common-palette-overrides'.
+
+Theme-specific overrides take precedence over shared overrides.
+The idea of common overrides is to change semantic color
+mappings, such as to make the cursor red.  Wherea theme-specific
+overrides can also be used to change the value of a named color,
+such as what hexadecimal RGB value the red-warmer symbol
+represents."
+    :group 'modus-themes
+    :package-version '(modus-themes . "4.0.0")
+    :version "30.1"
+    :type '(repeat (list symbol (choice symbol string)))
+    :set #'modus-themes--set-option
+    :initialize #'custom-initialize-default
+    :link '(info-link "(modus-themes) Palette overrides"))
+
+  (modus-themes-theme modus-vivendi-tritanopia
+                      modus-vivendi-tritanopia-palette
+                      modus-vivendi-tritanopia-palette-overrides)
+
+  (provide-theme 'modus-vivendi-tritanopia))
+
+;;;###theme-autoload
+(put 'modus-vivendi-tritanopia 'theme-properties '(:background-mode dark :kind 
color-scheme :family modus))
+
+;;; modus-vivendi-tritanopia-theme.el ends here



reply via email to

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