Move colour palettes to individual theme files

This commit is contained in:
Protesilaos Stavrou 2022-11-29 05:24:04 +02:00
parent 18dd2457d2
commit 3acd53268c
No known key found for this signature in database
GPG key ID: 99BD6459CD5CA3EA
3 changed files with 520 additions and 506 deletions

View file

@ -67,7 +67,266 @@ 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).")
(modus-themes-theme modus-operandi)
(define-obsolete-variable-alias
'modus-themes-operandi-colors
'modus-operandi-palette
"3.0.0")
(defconst modus-operandi-palette
'(;; base values
(bg-main "#ffffff")
(bg-dim "#f8f8f8")
(bg-alt "#f0f0f0")
(fg-main "#000000")
(fg-dim "#282828")
(fg-alt "#505050")
;; specifically for on/off states and must be combined with
;; themselves, though the backgrounds are also meant to be used with
;; other "active" values, defined further below; bg-active-accent
;; can work as a substitute for bg-active
(bg-active "#d7d7d7")
(bg-inactive "#efefef")
(bg-active-accent "#d0d6ff")
(fg-active "#0a0a0a")
(fg-inactive "#404148")
;; these special values are intended as alternatives to the base
;; values for cases where we need to avoid confusion between the
;; highlighted constructs; they must either be used as pairs based
;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
;; always in accordance with their role as background or foreground
(bg-special-cold "#dde3f4") (bg-special-faint-cold "#f0f1ff") (fg-special-cold "#093060")
(bg-special-mild "#c4ede0") (bg-special-faint-mild "#ebf5eb") (fg-special-mild "#184034")
(bg-special-warm "#f0e0d4") (bg-special-faint-warm "#fef2ea") (fg-special-warm "#5d3026")
(bg-special-calm "#f8ddea") (bg-special-faint-calm "#faeff9") (fg-special-calm "#61284f")
;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
(red "#a60000")
(red-alt "#972500")
(red-alt-other "#a0132f")
(red-faint "#7f1010")
(red-alt-faint "#702f00")
(red-alt-other-faint "#7f002f")
(green "#005e00")
(green-alt "#315b00")
(green-alt-other "#145c33")
(green-faint "#104410")
(green-alt-faint "#30440f")
(green-alt-other-faint "#0f443f")
(yellow "#813e00")
(yellow-alt "#70480f")
(yellow-alt-other "#863927")
(yellow-faint "#5f4400")
(yellow-alt-faint "#5d5000")
(yellow-alt-other-faint "#5e3a20")
(blue "#0031a9")
(blue-alt "#2544bb")
(blue-alt-other "#0000c0")
(blue-faint "#003497")
(blue-alt-faint "#0f3d8c")
(blue-alt-other-faint "#001087")
(magenta "#721045")
(magenta-alt "#8f0075")
(magenta-alt-other "#5317ac")
(magenta-faint "#752f50")
(magenta-alt-faint "#7b206f")
(magenta-alt-other-faint "#55348e")
(cyan "#00538b")
(cyan-alt "#30517f")
(cyan-alt-other "#005a5f")
(cyan-faint "#005077")
(cyan-alt-faint "#354f6f")
(cyan-alt-other-faint "#125458")
;; these foreground values can only be combined with bg-main and are
;; thus not suitable for general purpose highlighting
(red-intense "#b60000")
(orange-intense "#904200")
(green-intense "#006800")
(yellow-intense "#605b00")
(blue-intense "#1f1fce")
(magenta-intense "#a8007f")
(purple-intense "#7f10d0")
(cyan-intense "#005f88")
;; those foregrounds are meant exclusively for bg-active, bg-inactive
(red-active "#8a0000")
(green-active "#004c2e")
(yellow-active "#702f00")
(blue-active "#0030b4")
(magenta-active "#5c2092")
(cyan-active "#003f8a")
;; the "subtle" values below be combined with fg-dim, while the
;; "intense" should be paired with fg-main
(red-subtle-bg "#f2b0a2")
(red-intense-bg "#ff9f9f")
(green-subtle-bg "#aecf90")
(green-intense-bg "#5ada88")
(yellow-subtle-bg "#e4c340")
(yellow-intense-bg "#f5df23")
(blue-subtle-bg "#b5d0ff")
(blue-intense-bg "#77baff")
(magenta-subtle-bg "#f0d3ff")
(magenta-intense-bg "#d5baff")
(cyan-subtle-bg "#c0efff")
(cyan-intense-bg "#42cbd4")
;; those background values must be combined with fg-main and should
;; only be used for indicators that are placed on the fringes
(red-fringe-bg "#f08290")
(green-fringe-bg "#62c86a")
(yellow-fringe-bg "#dbba3f")
(blue-fringe-bg "#82afff")
(magenta-fringe-bg "#e0a3ff")
(cyan-fringe-bg "#2fcddf")
;; those background values should only be used for graphs or similar
;; applications where colored blocks are expected to be positioned
;; next to each other
(red-graph-0-bg "#ef7969")
(red-graph-1-bg "#ffaab4")
(green-graph-0-bg "#4faa09")
(green-graph-1-bg "#8fef00")
(yellow-graph-0-bg "#ffcf00")
(yellow-graph-1-bg "#f9ff00")
(blue-graph-0-bg "#7090ff")
(blue-graph-1-bg "#9fc6ff")
(magenta-graph-0-bg "#e07fff")
(magenta-graph-1-bg "#fad0ff")
(cyan-graph-0-bg "#70d3f0")
(cyan-graph-1-bg "#afefff")
;; the following are for cases where both the foreground and the
;; background need to have a similar hue and so must be combined
;; with themselves, even though the foregrounds can be paired with
;; any of the base backgrounds
(red-refine-bg "#ffcccc") (red-refine-fg "#780000")
(green-refine-bg "#aceaac") (green-refine-fg "#004c00")
(yellow-refine-bg "#fff29a") (yellow-refine-fg "#604000")
(blue-refine-bg "#8fcfff") (blue-refine-fg "#002f88")
(magenta-refine-bg "#ffccff") (magenta-refine-fg "#770077")
(cyan-refine-bg "#8eecf4") (cyan-refine-fg "#004850")
;; the "nuanced" backgrounds can be combined with all of the above
;; foregrounds, as well as those included here, while the "nuanced"
;; foregrounds can in turn also be combined with bg-main, bg-dim,
;; bg-alt
(red-nuanced-bg "#fff1f0") (red-nuanced-fg "#5f0000")
(green-nuanced-bg "#ecf7ed") (green-nuanced-fg "#004000")
(yellow-nuanced-bg "#fff3da") (yellow-nuanced-fg "#3f3000")
(blue-nuanced-bg "#f3f3ff") (blue-nuanced-fg "#201f55")
(magenta-nuanced-bg "#fdf0ff") (magenta-nuanced-fg "#541f4f")
(cyan-nuanced-bg "#ebf6fa") (cyan-nuanced-fg "#0f3360")
;; the following are reserved for specific cases
;;
;; bg-hl-line is between bg-dim and bg-alt, so it should
;; work with all accents that cover those two, plus bg-main
;;
;; bg-hl-alt and bg-hl-alt-intense should only be used when no
;; other grayscale or fairly neutral background is available to
;; properly draw attention to a given construct
;;
;; bg-header is between bg-active and bg-inactive, so it
;; can be combined with any of the "active" values, plus the
;; "special" and base foreground colors
;;
;; bg-paren-match, bg-paren-match-intense, bg-region,
;; bg-region-accent and bg-tab-active must be combined with fg-main,
;; while bg-tab-inactive should be combined with fg-dim, whereas
;; bg-tab-inactive-alt goes together with fg-main
;;
;; bg-completion-* and bg-char-* variants are meant to be combined
;; with fg-main
;;
;; fg-escape-char-construct and fg-escape-char-backslash can
;; be combined bg-main, bg-dim, bg-alt
;;
;; fg-lang-error, fg-lang-warning, fg-lang-note can be
;; combined with bg-main, bg-dim, bg-alt
;;
;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
;; with bg-main, bg-dim, bg-alt, bg-hl-line
;;
;; fg-unfocused must be combined with bg-main
;;
;; fg-docstring, fg-comment-yellow can be combined with
;; bg-main, bg-dim, bg-alt
;;
;; the window divider colors apply to faces with just an fg value
;;
;; all pairs are combinable with themselves
(bg-hl-line "#f2eff3")
(bg-hl-line-intense "#e0e0e0")
(bg-hl-line-intense-accent "#cfe2ff")
(bg-hl-alt "#fbeee0")
(bg-hl-alt-intense "#e8dfd1")
(bg-paren-match "#e0af82")
(bg-paren-match-intense "#c488ff")
(bg-paren-expression "#dff0ff")
(bg-region "#bcbcbc")
(bg-region-accent "#afafef")
(bg-region-accent-subtle "#efdfff")
(bg-completion "#b7dbff")
(bg-completion-subtle "#def3ff")
(bg-char-0 "#7feaff")
(bg-char-1 "#ffaaff")
(bg-char-2 "#dff000")
(bg-tab-active "#f6f6f6")
(bg-tab-inactive "#b7b7b7")
(bg-tab-inactive-accent "#a9b4f6")
(bg-tab-inactive-alt "#9f9f9f")
(bg-tab-inactive-alt-accent "#9fa6d0")
(red-tab "#680000")
(green-tab "#003900")
(yellow-tab "#393000")
(orange-tab "#502300")
(blue-tab "#000080")
(cyan-tab "#052f60")
(magenta-tab "#5f004d")
(purple-tab "#400487")
(fg-escape-char-construct "#8b1030")
(fg-escape-char-backslash "#654d0f")
(fg-lang-error "#9f004f")
(fg-lang-warning "#604f0f")
(fg-lang-note "#4040ae")
(fg-lang-underline-error "#ef4f54")
(fg-lang-underline-warning "#cf9f00")
(fg-lang-underline-note "#3f6fef")
(fg-window-divider-inner "#888888")
(fg-window-divider-outer "#585858")
(fg-unfocused "#56576d")
(fg-docstring "#2a486a")
(fg-comment-yellow "#794319")
(bg-header "#e5e5e5") (fg-header "#2a2a2a")
(bg-whitespace "#f5efef") (fg-whitespace "#624956")
(bg-diff-heading "#b7cfe0") (fg-diff-heading "#041645")
(bg-diff-added "#d4fad4") (fg-diff-added "#004500")
(bg-diff-added-deuteran "#daefff") (fg-diff-added-deuteran "#002044")
(bg-diff-changed "#fcefcf") (fg-diff-changed "#524200")
(bg-diff-removed "#ffe8ef") (fg-diff-removed "#691616")
(bg-diff-refine-added "#94cf94") (fg-diff-refine-added "#002a00")
(bg-diff-refine-added-deuteran "#77c0ef") (fg-diff-refine-added-deuteran "#000035")
(bg-diff-refine-changed "#cccf8f") (fg-diff-refine-changed "#302010")
(bg-diff-refine-removed "#daa2b0") (fg-diff-refine-removed "#400000")
(bg-diff-focus-added "#bbeabb") (fg-diff-focus-added "#002c00")
(bg-diff-focus-added-deuteran "#bacfff") (fg-diff-focus-added-deuteran "#001755")
(bg-diff-focus-changed "#ecdfbf") (fg-diff-focus-changed "#392900")
(bg-diff-focus-removed "#efcbcf") (fg-diff-focus-removed "#4a0000")
(bg-mark-sel "#a0f0cf") (fg-mark-sel "#005040")
(bg-mark-del "#ffccbb") (fg-mark-del "#840040")
(bg-mark-alt "#f5d88f") (fg-mark-alt "#782900"))
"The entire palette of the `modus-operandi' theme.
Each element has the form (NAME HEX) with the former as a
symbol and the latter as a string.")
(modus-themes-theme modus-operandi modus-operandi-palette)
(provide-theme 'modus-operandi))

View file

@ -136,510 +136,6 @@ argument, insert the `modus-themes--version' at point."
;; think about it.
nil nil nil nil))
;;; Variables for each theme variant
;;;; Modus Operandi
(defconst modus-themes-operandi-colors
'(;; base values
(bg-main . "#ffffff") (fg-main . "#000000")
(bg-dim . "#f8f8f8") (fg-dim . "#282828")
(bg-alt . "#f0f0f0") (fg-alt . "#505050")
;; specifically for on/off states and must be combined with
;; themselves, though the backgrounds are also meant to be used with
;; other "active" values, defined further below; bg-active-accent
;; can work as a substitute for bg-active
(bg-active . "#d7d7d7") (fg-active . "#0a0a0a")
(bg-inactive . "#efefef") (fg-inactive . "#404148")
(bg-active-accent . "#d0d6ff")
;; these special values are intended as alternatives to the base
;; values for cases where we need to avoid confusion between the
;; highlighted constructs; they must either be used as pairs based
;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
;; always in accordance with their role as background or foreground
(bg-special-cold . "#dde3f4") (bg-special-faint-cold . "#f0f1ff") (fg-special-cold . "#093060")
(bg-special-mild . "#c4ede0") (bg-special-faint-mild . "#ebf5eb") (fg-special-mild . "#184034")
(bg-special-warm . "#f0e0d4") (bg-special-faint-warm . "#fef2ea") (fg-special-warm . "#5d3026")
(bg-special-calm . "#f8ddea") (bg-special-faint-calm . "#faeff9") (fg-special-calm . "#61284f")
;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
(red . "#a60000")
(red-alt . "#972500")
(red-alt-other . "#a0132f")
(red-faint . "#7f1010")
(red-alt-faint . "#702f00")
(red-alt-other-faint . "#7f002f")
(green . "#005e00")
(green-alt . "#315b00")
(green-alt-other . "#145c33")
(green-faint . "#104410")
(green-alt-faint . "#30440f")
(green-alt-other-faint . "#0f443f")
(yellow . "#813e00")
(yellow-alt . "#70480f")
(yellow-alt-other . "#863927")
(yellow-faint . "#5f4400")
(yellow-alt-faint . "#5d5000")
(yellow-alt-other-faint . "#5e3a20")
(blue . "#0031a9")
(blue-alt . "#2544bb")
(blue-alt-other . "#0000c0")
(blue-faint . "#003497")
(blue-alt-faint . "#0f3d8c")
(blue-alt-other-faint . "#001087")
(magenta . "#721045")
(magenta-alt . "#8f0075")
(magenta-alt-other . "#5317ac")
(magenta-faint . "#752f50")
(magenta-alt-faint . "#7b206f")
(magenta-alt-other-faint . "#55348e")
(cyan . "#00538b")
(cyan-alt . "#30517f")
(cyan-alt-other . "#005a5f")
(cyan-faint . "#005077")
(cyan-alt-faint . "#354f6f")
(cyan-alt-other-faint . "#125458")
;; these foreground values can only be combined with bg-main and are
;; thus not suitable for general purpose highlighting
(red-intense . "#b60000")
(orange-intense . "#904200")
(green-intense . "#006800")
(yellow-intense . "#605b00")
(blue-intense . "#1f1fce")
(magenta-intense . "#a8007f")
(purple-intense . "#7f10d0")
(cyan-intense . "#005f88")
;; those foregrounds are meant exclusively for bg-active, bg-inactive
(red-active . "#8a0000")
(green-active . "#004c2e")
(yellow-active . "#702f00")
(blue-active . "#0030b4")
(magenta-active . "#5c2092")
(cyan-active . "#003f8a")
;; the "subtle" values below be combined with fg-dim, while the
;; "intense" should be paired with fg-main
(red-subtle-bg . "#f2b0a2")
(red-intense-bg . "#ff9f9f")
(green-subtle-bg . "#aecf90")
(green-intense-bg . "#5ada88")
(yellow-subtle-bg . "#e4c340")
(yellow-intense-bg . "#f5df23")
(blue-subtle-bg . "#b5d0ff")
(blue-intense-bg . "#77baff")
(magenta-subtle-bg . "#f0d3ff")
(magenta-intense-bg . "#d5baff")
(cyan-subtle-bg . "#c0efff")
(cyan-intense-bg . "#42cbd4")
;; those background values must be combined with fg-main and should
;; only be used for indicators that are placed on the fringes
(red-fringe-bg . "#f08290")
(green-fringe-bg . "#62c86a")
(yellow-fringe-bg . "#dbba3f")
(blue-fringe-bg . "#82afff")
(magenta-fringe-bg . "#e0a3ff")
(cyan-fringe-bg . "#2fcddf")
;; those background values should only be used for graphs or similar
;; applications where colored blocks are expected to be positioned
;; next to each other
(red-graph-0-bg . "#ef7969")
(red-graph-1-bg . "#ffaab4")
(green-graph-0-bg . "#4faa09")
(green-graph-1-bg . "#8fef00")
(yellow-graph-0-bg . "#ffcf00")
(yellow-graph-1-bg . "#f9ff00")
(blue-graph-0-bg . "#7090ff")
(blue-graph-1-bg . "#9fc6ff")
(magenta-graph-0-bg . "#e07fff")
(magenta-graph-1-bg . "#fad0ff")
(cyan-graph-0-bg . "#70d3f0")
(cyan-graph-1-bg . "#afefff")
;; the following are for cases where both the foreground and the
;; background need to have a similar hue and so must be combined
;; with themselves, even though the foregrounds can be paired with
;; any of the base backgrounds
(red-refine-bg . "#ffcccc") (red-refine-fg . "#780000")
(green-refine-bg . "#aceaac") (green-refine-fg . "#004c00")
(yellow-refine-bg . "#fff29a") (yellow-refine-fg . "#604000")
(blue-refine-bg . "#8fcfff") (blue-refine-fg . "#002f88")
(magenta-refine-bg . "#ffccff") (magenta-refine-fg . "#770077")
(cyan-refine-bg . "#8eecf4") (cyan-refine-fg . "#004850")
;; the "nuanced" backgrounds can be combined with all of the above
;; foregrounds, as well as those included here, while the "nuanced"
;; foregrounds can in turn also be combined with bg-main, bg-dim,
;; bg-alt
(red-nuanced-bg . "#fff1f0") (red-nuanced-fg . "#5f0000")
(green-nuanced-bg . "#ecf7ed") (green-nuanced-fg . "#004000")
(yellow-nuanced-bg . "#fff3da") (yellow-nuanced-fg . "#3f3000")
(blue-nuanced-bg . "#f3f3ff") (blue-nuanced-fg . "#201f55")
(magenta-nuanced-bg . "#fdf0ff") (magenta-nuanced-fg . "#541f4f")
(cyan-nuanced-bg . "#ebf6fa") (cyan-nuanced-fg . "#0f3360")
;; the following are reserved for specific cases
;;
;; bg-hl-line is between bg-dim and bg-alt, so it should
;; work with all accents that cover those two, plus bg-main
;;
;; bg-hl-alt and bg-hl-alt-intense should only be used when no
;; other grayscale or fairly neutral background is available to
;; properly draw attention to a given construct
;;
;; bg-header is between bg-active and bg-inactive, so it
;; can be combined with any of the "active" values, plus the
;; "special" and base foreground colors
;;
;; bg-paren-match, bg-paren-match-intense, bg-region,
;; bg-region-accent and bg-tab-active must be combined with fg-main,
;; while bg-tab-inactive should be combined with fg-dim, whereas
;; bg-tab-inactive-alt goes together with fg-main
;;
;; bg-completion-* and bg-char-* variants are meant to be combined
;; with fg-main
;;
;; fg-escape-char-construct and fg-escape-char-backslash can
;; be combined bg-main, bg-dim, bg-alt
;;
;; fg-lang-error, fg-lang-warning, fg-lang-note can be
;; combined with bg-main, bg-dim, bg-alt
;;
;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
;; with bg-main, bg-dim, bg-alt, bg-hl-line
;;
;; fg-unfocused must be combined with bg-main
;;
;; fg-docstring, fg-comment-yellow can be combined with
;; bg-main, bg-dim, bg-alt
;;
;; the window divider colors apply to faces with just an fg value
;;
;; all pairs are combinable with themselves
(bg-hl-line . "#f2eff3")
(bg-hl-line-intense . "#e0e0e0")
(bg-hl-line-intense-accent . "#cfe2ff")
(bg-hl-alt . "#fbeee0")
(bg-hl-alt-intense . "#e8dfd1")
(bg-paren-match . "#e0af82")
(bg-paren-match-intense . "#c488ff")
(bg-paren-expression . "#dff0ff")
(bg-region . "#bcbcbc")
(bg-region-accent . "#afafef")
(bg-region-accent-subtle . "#efdfff")
(bg-completion . "#b7dbff")
(bg-completion-subtle . "#def3ff")
(bg-char-0 . "#7feaff")
(bg-char-1 . "#ffaaff")
(bg-char-2 . "#dff000")
(bg-tab-active . "#f6f6f6")
(bg-tab-inactive . "#b7b7b7")
(bg-tab-inactive-accent . "#a9b4f6")
(bg-tab-inactive-alt . "#9f9f9f")
(bg-tab-inactive-alt-accent . "#9fa6d0")
(red-tab . "#680000")
(green-tab . "#003900")
(yellow-tab . "#393000")
(orange-tab . "#502300")
(blue-tab . "#000080")
(cyan-tab . "#052f60")
(magenta-tab . "#5f004d")
(purple-tab . "#400487")
(fg-escape-char-construct . "#8b1030")
(fg-escape-char-backslash . "#654d0f")
(fg-lang-error . "#9f004f")
(fg-lang-warning . "#604f0f")
(fg-lang-note . "#4040ae")
(fg-lang-underline-error . "#ef4f54")
(fg-lang-underline-warning . "#cf9f00")
(fg-lang-underline-note . "#3f6fef")
(fg-window-divider-inner . "#888888")
(fg-window-divider-outer . "#585858")
(fg-unfocused . "#56576d")
(fg-docstring . "#2a486a")
(fg-comment-yellow . "#794319")
(bg-header . "#e5e5e5") (fg-header . "#2a2a2a")
(bg-whitespace . "#f5efef") (fg-whitespace . "#624956")
(bg-diff-heading . "#b7cfe0") (fg-diff-heading . "#041645")
(bg-diff-added . "#d4fad4") (fg-diff-added . "#004500")
(bg-diff-added-deuteran . "#daefff") (fg-diff-added-deuteran . "#002044")
(bg-diff-changed . "#fcefcf") (fg-diff-changed . "#524200")
(bg-diff-removed . "#ffe8ef") (fg-diff-removed . "#691616")
(bg-diff-refine-added . "#94cf94") (fg-diff-refine-added . "#002a00")
(bg-diff-refine-added-deuteran . "#77c0ef") (fg-diff-refine-added-deuteran . "#000035")
(bg-diff-refine-changed . "#cccf8f") (fg-diff-refine-changed . "#302010")
(bg-diff-refine-removed . "#daa2b0") (fg-diff-refine-removed . "#400000")
(bg-diff-focus-added . "#bbeabb") (fg-diff-focus-added . "#002c00")
(bg-diff-focus-added-deuteran . "#bacfff") (fg-diff-focus-added-deuteran . "#001755")
(bg-diff-focus-changed . "#ecdfbf") (fg-diff-focus-changed . "#392900")
(bg-diff-focus-removed . "#efcbcf") (fg-diff-focus-removed . "#4a0000")
(bg-mark-sel . "#a0f0cf") (fg-mark-sel . "#005040")
(bg-mark-del . "#ffccbb") (fg-mark-del . "#840040")
(bg-mark-alt . "#f5d88f") (fg-mark-alt . "#782900"))
"The entire palette of the `modus-operandi' theme.
Each element has the form (NAME . HEX) with the former as a
symbol and the latter as a string.")
;;;; Modus Vivendi
(defconst modus-themes-vivendi-colors
'(;; base values
(bg-main . "#000000") (fg-main . "#ffffff")
(bg-dim . "#100f10") (fg-dim . "#e0e6f0")
(bg-alt . "#191a1b") (fg-alt . "#a8a8a8")
;; specifically for on/off states and must be combined with
;; themselves, though the backgrounds are also meant to be used with
;; other "active" values, defined further below; bg-active-accent
;; can work as a substitute for bg-active
(bg-active . "#323232") (fg-active . "#f4f4f4")
(bg-inactive . "#1e1e1e") (fg-inactive . "#bfc0c4")
(bg-active-accent . "#2a2a66")
;; these special values are intended as alternatives to the base
;; values for cases where we need to avoid confusion between the
;; highlighted constructs; they must either be used as pairs based
;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
;; always in accordance with their role as background or foreground
(bg-special-cold . "#203448") (bg-special-faint-cold . "#0e183a") (fg-special-cold . "#c6eaff")
(bg-special-mild . "#00322e") (bg-special-faint-mild . "#001f1a") (fg-special-mild . "#bfebe0")
(bg-special-warm . "#382f27") (bg-special-faint-warm . "#241613") (fg-special-warm . "#f8dec0")
(bg-special-calm . "#392a48") (bg-special-faint-calm . "#251232") (fg-special-calm . "#fbd6f4")
;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
(red . "#ff8059")
(red-alt . "#ef8b50")
(red-alt-other . "#ff9077")
(red-faint . "#ffa0a0")
(red-alt-faint . "#f5aa80")
(red-alt-other-faint . "#ff9fbf")
(green . "#44bc44")
(green-alt . "#70b900")
(green-alt-other . "#00c06f")
(green-faint . "#78bf78")
(green-alt-faint . "#99b56f")
(green-alt-other-faint . "#88bf99")
(yellow . "#d0bc00")
(yellow-alt . "#c0c530")
(yellow-alt-other . "#d3b55f")
(yellow-faint . "#d2b580")
(yellow-alt-faint . "#cabf77")
(yellow-alt-other-faint . "#d0ba95")
(blue . "#2fafff")
(blue-alt . "#79a8ff" )
(blue-alt-other . "#00bcff")
(blue-faint . "#82b0ec")
(blue-alt-faint . "#a0acef")
(blue-alt-other-faint . "#80b2f0")
(magenta . "#feacd0")
(magenta-alt . "#f78fe7")
(magenta-alt-other . "#b6a0ff")
(magenta-faint . "#e0b2d6")
(magenta-alt-faint . "#ef9fe4")
(magenta-alt-other-faint . "#cfa6ff")
(cyan . "#00d3d0")
(cyan-alt . "#4ae2f0")
(cyan-alt-other . "#6ae4b9")
(cyan-faint . "#90c4ed")
(cyan-alt-faint . "#a0bfdf")
(cyan-alt-other-faint . "#a4d0bb")
;; these foreground values can only be combined with bg-main and are
;; thus not suitable for general purpose highlighting
(red-intense . "#fe6060")
(orange-intense . "#fba849")
(green-intense . "#4fe42f")
(yellow-intense . "#f0dd60")
(blue-intense . "#4fafff")
(magenta-intense . "#ff62d4")
(purple-intense . "#9f80ff")
(cyan-intense . "#3fdfd0")
;; those foregrounds are meant exclusively for bg-active, bg-inactive
(red-active . "#ffa7ba")
(green-active . "#70d73f")
(yellow-active . "#dbbe5f")
(blue-active . "#34cfff")
(magenta-active . "#d5b1ff")
(cyan-active . "#00d8b4")
;; the "subtle" values below be combined with fg-dim, while the
;; "intense" should be paired with fg-main
(red-subtle-bg . "#762422")
(red-intense-bg . "#a4202a")
(green-subtle-bg . "#2f4a00")
(green-intense-bg . "#006800")
(yellow-subtle-bg . "#604200")
(yellow-intense-bg . "#874900")
(blue-subtle-bg . "#10387c")
(blue-intense-bg . "#2a40b8")
(magenta-subtle-bg . "#49366e")
(magenta-intense-bg . "#7042a2")
(cyan-subtle-bg . "#00415e")
(cyan-intense-bg . "#005f88")
;; those background values must be combined with fg-main and should
;; only be used for indicators that are placed on the fringes
(red-fringe-bg . "#8f1f4b")
(green-fringe-bg . "#006700")
(yellow-fringe-bg . "#6f4f00")
(blue-fringe-bg . "#3f33af")
(magenta-fringe-bg . "#6f2f89")
(cyan-fringe-bg . "#004f8f")
;; those background values should only be used for graphs or similar
;; applications where colored blocks are expected to be positioned
;; next to each other
(red-graph-0-bg . "#b52c2c")
(red-graph-1-bg . "#702020")
(green-graph-0-bg . "#4fd100")
(green-graph-1-bg . "#007800")
(yellow-graph-0-bg . "#f1e00a")
(yellow-graph-1-bg . "#b08600")
(blue-graph-0-bg . "#2fafef")
(blue-graph-1-bg . "#1f2f8f")
(magenta-graph-0-bg . "#bf94fe")
(magenta-graph-1-bg . "#5f509f")
(cyan-graph-0-bg . "#47dfea")
(cyan-graph-1-bg . "#00808f")
;; the following are for cases where both the foreground and the
;; background need to have a similar hue and so must be combined
;; with themselves, even though the foregrounds can be paired with
;; any of the base backgrounds
(red-refine-bg . "#77002a") (red-refine-fg . "#ffb9ab")
(green-refine-bg . "#00422a") (green-refine-fg . "#9ff0cf")
(yellow-refine-bg . "#693200") (yellow-refine-fg . "#e2d980")
(blue-refine-bg . "#242679") (blue-refine-fg . "#8ecfff")
(magenta-refine-bg . "#71206a") (magenta-refine-fg . "#ffcaf0")
(cyan-refine-bg . "#004065") (cyan-refine-fg . "#8ae4f2")
;; the "nuanced" backgrounds can be combined with all of the above
;; foregrounds, as well as those included here, while the "nuanced"
;; foregrounds can in turn also be combined with bg-main, bg-dim,
;; bg-alt
(red-nuanced-bg . "#2c0614") (red-nuanced-fg . "#ffcccc")
(green-nuanced-bg . "#001904") (green-nuanced-fg . "#b8e2b8")
(yellow-nuanced-bg . "#221000") (yellow-nuanced-fg . "#dfdfb0")
(blue-nuanced-bg . "#0f0e39") (blue-nuanced-fg . "#bfd9ff")
(magenta-nuanced-bg . "#230631") (magenta-nuanced-fg . "#e5cfef")
(cyan-nuanced-bg . "#041529") (cyan-nuanced-fg . "#a8e5e5")
;; the following are reserved for specific cases
;;
;; bg-hl-line is between bg-dim and bg-alt, so it should
;; work with all accents that cover those two, plus bg-main
;;
;; bg-hl-alt and bg-hl-alt-intense should only be used when no
;; other grayscale or fairly neutral background is available to
;; properly draw attention to a given construct
;;
;; bg-header is between bg-active and bg-inactive, so it
;; can be combined with any of the "active" values, plus the
;; "special" and base foreground colors
;;
;; bg-paren-match, bg-paren-match-intense, bg-region,
;; bg-region-accent and bg-tab-active must be combined with fg-main,
;; while bg-tab-inactive should be combined with fg-dim, whereas
;; bg-tab-inactive-alt goes together with fg-main
;;
;; bg-completion-* and bg-char-* variants are meant to be combined
;; with fg-main
;;
;; fg-escape-char-construct and fg-escape-char-backslash can
;; be combined bg-main, bg-dim, bg-alt
;;
;; fg-lang-error, fg-lang-warning, fg-lang-note can be
;; combined with bg-main, bg-dim, bg-alt
;;
;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
;; with bg-main, bg-dim, bg-alt, bg-hl-line
;;
;; fg-unfocused must be combined with bg-main
;;
;; fg-docstring, fg-comment-yellow can be combined with
;; bg-main, bg-dim, bg-alt
;;
;; the window divider colors apply to faces with just an fg value
;;
;; all pairs are combinable with themselves
(bg-hl-line . "#151823")
(bg-hl-line-intense . "#292929")
(bg-hl-line-intense-accent . "#002a4f")
(bg-hl-alt . "#181732")
(bg-hl-alt-intense . "#282e46")
(bg-paren-match . "#6f3355")
(bg-paren-match-intense . "#7416b5")
(bg-paren-expression . "#221044")
(bg-region . "#3c3c3c")
(bg-region-accent . "#4f3d88")
(bg-region-accent-subtle . "#240f55")
(bg-completion . "#142f69")
(bg-completion-subtle . "#0e194b")
(bg-char-0 . "#0050af")
(bg-char-1 . "#7f1f7f")
(bg-char-2 . "#625a00")
(bg-tab-active . "#0e0e0e")
(bg-tab-inactive . "#424242")
(bg-tab-inactive-accent . "#35398f")
(bg-tab-inactive-alt . "#595959")
(bg-tab-inactive-alt-accent . "#505588")
(red-tab . "#ffc0bf")
(green-tab . "#88ef88")
(yellow-tab . "#d2e580")
(orange-tab . "#f5ca80")
(blue-tab . "#92d9ff")
(cyan-tab . "#60e7e0")
(magenta-tab . "#ffb8ff")
(purple-tab . "#cfcaff")
(fg-escape-char-construct . "#e7a59a")
(fg-escape-char-backslash . "#abab00")
(fg-lang-error . "#ef8690")
(fg-lang-warning . "#b0aa00")
(fg-lang-note . "#9d9def")
(fg-lang-underline-error . "#ff4a6f")
(fg-lang-underline-warning . "#d0de00")
(fg-lang-underline-note . "#5f6fff")
(fg-window-divider-inner . "#646464")
(fg-window-divider-outer . "#969696")
(fg-unfocused . "#93959b")
(fg-docstring . "#b0d6f5")
(fg-comment-yellow . "#d0a070")
(bg-header . "#212121") (fg-header . "#dddddd")
(bg-whitespace . "#101424") (fg-whitespace . "#aa9e9f")
(bg-diff-heading . "#304466") (fg-diff-heading . "#dae7ff")
(bg-diff-added . "#0a280a") (fg-diff-added . "#94ba94")
(bg-diff-added-deuteran . "#001a3f") (fg-diff-added-deuteran . "#c4cdf2")
(bg-diff-changed . "#2a2000") (fg-diff-changed . "#b0ba9f")
(bg-diff-removed . "#40160f") (fg-diff-removed . "#c6adaa")
(bg-diff-refine-added . "#005a36") (fg-diff-refine-added . "#e0f6e0")
(bg-diff-refine-added-deuteran . "#234f8f") (fg-diff-refine-added-deuteran . "#dde4ff")
(bg-diff-refine-changed . "#585800") (fg-diff-refine-changed . "#ffffcc")
(bg-diff-refine-removed . "#852828") (fg-diff-refine-removed . "#ffd9eb")
(bg-diff-focus-added . "#1d3c25") (fg-diff-focus-added . "#b4ddb4")
(bg-diff-focus-added-deuteran . "#003959") (fg-diff-focus-added-deuteran . "#bfe4ff")
(bg-diff-focus-changed . "#424200") (fg-diff-focus-changed . "#d0daaf")
(bg-diff-focus-removed . "#601f29") (fg-diff-focus-removed . "#eebdba")
(bg-mark-sel . "#002f2f") (fg-mark-sel . "#60cfa2")
(bg-mark-del . "#5a0000") (fg-mark-del . "#ff99aa")
(bg-mark-alt . "#3f2210") (fg-mark-alt . "#f0aa20"))
"The entire palette of the `modus-vivendi' theme.
Each element has the form (NAME . HEX) with the former as a
symbol and the latter as a string.")
;;; Custom faces

View file

@ -67,7 +67,266 @@ 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).")
(modus-themes-theme modus-vivendi)
(define-obsolete-variable-alias
'modus-themes-vivendi-colors
'modus-vivendi-palette
"3.0.0")
(defconst modus-vivendi-palette
'(;; base values
(bg-main "#000000")
(bg-dim "#100f10")
(bg-alt "#191a1b")
(fg-main "#ffffff")
(fg-dim "#e0e6f0")
(fg-alt "#a8a8a8")
;; specifically for on/off states and must be combined with
;; themselves, though the backgrounds are also meant to be used with
;; other "active" values, defined further below; bg-active-accent
;; can work as a substitute for bg-active
(bg-active "#323232")
(bg-inactive "#1e1e1e")
(bg-active-accent "#2a2a66")
(fg-active "#f4f4f4")
(fg-inactive "#bfc0c4")
;; these special values are intended as alternatives to the base
;; values for cases where we need to avoid confusion between the
;; highlighted constructs; they must either be used as pairs based
;; on their name or each can be combined with {fg,bg}-{main,alt,dim}
;; always in accordance with their role as background or foreground
(bg-special-cold "#203448") (bg-special-faint-cold "#0e183a") (fg-special-cold "#c6eaff")
(bg-special-mild "#00322e") (bg-special-faint-mild "#001f1a") (fg-special-mild "#bfebe0")
(bg-special-warm "#382f27") (bg-special-faint-warm "#241613") (fg-special-warm "#f8dec0")
(bg-special-calm "#392a48") (bg-special-faint-calm "#251232") (fg-special-calm "#fbd6f4")
;; foregrounds that can be combined with bg-main, bg-dim, bg-alt
(red "#ff8059")
(red-alt "#ef8b50")
(red-alt-other "#ff9077")
(red-faint "#ffa0a0")
(red-alt-faint "#f5aa80")
(red-alt-other-faint "#ff9fbf")
(green "#44bc44")
(green-alt "#70b900")
(green-alt-other "#00c06f")
(green-faint "#78bf78")
(green-alt-faint "#99b56f")
(green-alt-other-faint "#88bf99")
(yellow "#d0bc00")
(yellow-alt "#c0c530")
(yellow-alt-other "#d3b55f")
(yellow-faint "#d2b580")
(yellow-alt-faint "#cabf77")
(yellow-alt-other-faint "#d0ba95")
(blue "#2fafff")
(blue-alt "#79a8ff")
(blue-alt-other "#00bcff")
(blue-faint "#82b0ec")
(blue-alt-faint "#a0acef")
(blue-alt-other-faint "#80b2f0")
(magenta "#feacd0")
(magenta-alt "#f78fe7")
(magenta-alt-other "#b6a0ff")
(magenta-faint "#e0b2d6")
(magenta-alt-faint "#ef9fe4")
(magenta-alt-other-faint "#cfa6ff")
(cyan "#00d3d0")
(cyan-alt "#4ae2f0")
(cyan-alt-other "#6ae4b9")
(cyan-faint "#90c4ed")
(cyan-alt-faint "#a0bfdf")
(cyan-alt-other-faint "#a4d0bb")
;; these foreground values can only be combined with bg-main and are
;; thus not suitable for general purpose highlighting
(red-intense "#fe6060")
(orange-intense "#fba849")
(green-intense "#4fe42f")
(yellow-intense "#f0dd60")
(blue-intense "#4fafff")
(magenta-intense "#ff62d4")
(purple-intense "#9f80ff")
(cyan-intense "#3fdfd0")
;; those foregrounds are meant exclusively for bg-active, bg-inactive
(red-active "#ffa7ba")
(green-active "#70d73f")
(yellow-active "#dbbe5f")
(blue-active "#34cfff")
(magenta-active "#d5b1ff")
(cyan-active "#00d8b4")
;; the "subtle" values below be combined with fg-dim, while the
;; "intense" should be paired with fg-main
(red-subtle-bg "#762422")
(red-intense-bg "#a4202a")
(green-subtle-bg "#2f4a00")
(green-intense-bg "#006800")
(yellow-subtle-bg "#604200")
(yellow-intense-bg "#874900")
(blue-subtle-bg "#10387c")
(blue-intense-bg "#2a40b8")
(magenta-subtle-bg "#49366e")
(magenta-intense-bg "#7042a2")
(cyan-subtle-bg "#00415e")
(cyan-intense-bg "#005f88")
;; those background values must be combined with fg-main and should
;; only be used for indicators that are placed on the fringes
(red-fringe-bg "#8f1f4b")
(green-fringe-bg "#006700")
(yellow-fringe-bg "#6f4f00")
(blue-fringe-bg "#3f33af")
(magenta-fringe-bg "#6f2f89")
(cyan-fringe-bg "#004f8f")
;; those background values should only be used for graphs or similar
;; applications where colored blocks are expected to be positioned
;; next to each other
(red-graph-0-bg "#b52c2c")
(red-graph-1-bg "#702020")
(green-graph-0-bg "#4fd100")
(green-graph-1-bg "#007800")
(yellow-graph-0-bg "#f1e00a")
(yellow-graph-1-bg "#b08600")
(blue-graph-0-bg "#2fafef")
(blue-graph-1-bg "#1f2f8f")
(magenta-graph-0-bg "#bf94fe")
(magenta-graph-1-bg "#5f509f")
(cyan-graph-0-bg "#47dfea")
(cyan-graph-1-bg "#00808f")
;; the following are for cases where both the foreground and the
;; background need to have a similar hue and so must be combined
;; with themselves, even though the foregrounds can be paired with
;; any of the base backgrounds
(red-refine-bg "#77002a") (red-refine-fg "#ffb9ab")
(green-refine-bg "#00422a") (green-refine-fg "#9ff0cf")
(yellow-refine-bg "#693200") (yellow-refine-fg "#e2d980")
(blue-refine-bg "#242679") (blue-refine-fg "#8ecfff")
(magenta-refine-bg "#71206a") (magenta-refine-fg "#ffcaf0")
(cyan-refine-bg "#004065") (cyan-refine-fg "#8ae4f2")
;; the "nuanced" backgrounds can be combined with all of the above
;; foregrounds, as well as those included here, while the "nuanced"
;; foregrounds can in turn also be combined with bg-main, bg-dim,
;; bg-alt
(red-nuanced-bg "#2c0614") (red-nuanced-fg "#ffcccc")
(green-nuanced-bg "#001904") (green-nuanced-fg "#b8e2b8")
(yellow-nuanced-bg "#221000") (yellow-nuanced-fg "#dfdfb0")
(blue-nuanced-bg "#0f0e39") (blue-nuanced-fg "#bfd9ff")
(magenta-nuanced-bg "#230631") (magenta-nuanced-fg "#e5cfef")
(cyan-nuanced-bg "#041529") (cyan-nuanced-fg "#a8e5e5")
;; the following are reserved for specific cases
;;
;; bg-hl-line is between bg-dim and bg-alt, so it should
;; work with all accents that cover those two, plus bg-main
;;
;; bg-hl-alt and bg-hl-alt-intense should only be used when no
;; other grayscale or fairly neutral background is available to
;; properly draw attention to a given construct
;;
;; bg-header is between bg-active and bg-inactive, so it
;; can be combined with any of the "active" values, plus the
;; "special" and base foreground colors
;;
;; bg-paren-match, bg-paren-match-intense, bg-region,
;; bg-region-accent and bg-tab-active must be combined with fg-main,
;; while bg-tab-inactive should be combined with fg-dim, whereas
;; bg-tab-inactive-alt goes together with fg-main
;;
;; bg-completion-* and bg-char-* variants are meant to be combined
;; with fg-main
;;
;; fg-escape-char-construct and fg-escape-char-backslash can
;; be combined bg-main, bg-dim, bg-alt
;;
;; fg-lang-error, fg-lang-warning, fg-lang-note can be
;; combined with bg-main, bg-dim, bg-alt
;;
;; fg-mark-sel, fg-mark-del, fg-mark-alt can be combined
;; with bg-main, bg-dim, bg-alt, bg-hl-line
;;
;; fg-unfocused must be combined with bg-main
;;
;; fg-docstring, fg-comment-yellow can be combined with
;; bg-main, bg-dim, bg-alt
;;
;; the window divider colors apply to faces with just an fg value
;;
;; all pairs are combinable with themselves
(bg-hl-line "#151823")
(bg-hl-line-intense "#292929")
(bg-hl-line-intense-accent "#002a4f")
(bg-hl-alt "#181732")
(bg-hl-alt-intense "#282e46")
(bg-paren-match "#6f3355")
(bg-paren-match-intense "#7416b5")
(bg-paren-expression "#221044")
(bg-region "#3c3c3c")
(bg-region-accent "#4f3d88")
(bg-region-accent-subtle "#240f55")
(bg-completion "#142f69")
(bg-completion-subtle "#0e194b")
(bg-char-0 "#0050af")
(bg-char-1 "#7f1f7f")
(bg-char-2 "#625a00")
(bg-tab-active "#0e0e0e")
(bg-tab-inactive "#424242")
(bg-tab-inactive-accent "#35398f")
(bg-tab-inactive-alt "#595959")
(bg-tab-inactive-alt-accent "#505588")
(red-tab "#ffc0bf")
(green-tab "#88ef88")
(yellow-tab "#d2e580")
(orange-tab "#f5ca80")
(blue-tab "#92d9ff")
(cyan-tab "#60e7e0")
(magenta-tab "#ffb8ff")
(purple-tab "#cfcaff")
(fg-escape-char-construct "#e7a59a")
(fg-escape-char-backslash "#abab00")
(fg-lang-error "#ef8690")
(fg-lang-warning "#b0aa00")
(fg-lang-note "#9d9def")
(fg-lang-underline-error "#ff4a6f")
(fg-lang-underline-warning "#d0de00")
(fg-lang-underline-note "#5f6fff")
(fg-window-divider-inner "#646464")
(fg-window-divider-outer "#969696")
(fg-unfocused "#93959b")
(fg-docstring "#b0d6f5")
(fg-comment-yellow "#d0a070")
(bg-header "#212121") (fg-header "#dddddd")
(bg-whitespace "#101424") (fg-whitespace "#aa9e9f")
(bg-diff-heading "#304466") (fg-diff-heading "#dae7ff")
(bg-diff-added "#0a280a") (fg-diff-added "#94ba94")
(bg-diff-added-deuteran "#001a3f") (fg-diff-added-deuteran "#c4cdf2")
(bg-diff-changed "#2a2000") (fg-diff-changed "#b0ba9f")
(bg-diff-removed "#40160f") (fg-diff-removed "#c6adaa")
(bg-diff-refine-added "#005a36") (fg-diff-refine-added "#e0f6e0")
(bg-diff-refine-added-deuteran "#234f8f") (fg-diff-refine-added-deuteran "#dde4ff")
(bg-diff-refine-changed "#585800") (fg-diff-refine-changed "#ffffcc")
(bg-diff-refine-removed "#852828") (fg-diff-refine-removed "#ffd9eb")
(bg-diff-focus-added "#1d3c25") (fg-diff-focus-added "#b4ddb4")
(bg-diff-focus-added-deuteran "#003959") (fg-diff-focus-added-deuteran "#bfe4ff")
(bg-diff-focus-changed "#424200") (fg-diff-focus-changed "#d0daaf")
(bg-diff-focus-removed "#601f29") (fg-diff-focus-removed "#eebdba")
(bg-mark-sel "#002f2f") (fg-mark-sel "#60cfa2")
(bg-mark-del "#5a0000") (fg-mark-del "#ff99aa")
(bg-mark-alt "#3f2210") (fg-mark-alt "#f0aa20"))
"The entire palette of the `modus-vivendi' theme.
Each element has the form (NAME HEX) with the former as a
symbol and the latter as a string.")
(modus-themes-theme modus-vivendi modus-vivendi-palette)
(provide-theme 'modus-vivendi))