summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorMatouš Dzivjak2023-12-19 01:03:26 +0000
committerGitHub2023-12-19 01:03:26 +0000
commit80dd58596690de08f35b41f318264890b87fe5dd (patch)
treea5da2b98e566608a805754b69d5caff9851b6824 /runtime
parentc1ab94bbefd85bf2f0ec1e50052a7bb1b81e14ab (diff)
feat(themes): add modus vivendi theme(s) (#8894)
Diffstat (limited to 'runtime')
-rw-r--r--runtime/themes/licenses/modus_vivendi.LICENSE5
-rw-r--r--runtime/themes/licenses/modus_vivendi_deuteranopia.LICENSE5
-rw-r--r--runtime/themes/licenses/modus_vivendi_tinted.LICENSE5
-rw-r--r--runtime/themes/licenses/modus_vivendi_tritanopia.LICENSE5
-rw-r--r--runtime/themes/modus_vivendi.toml242
-rw-r--r--runtime/themes/modus_vivendi_deuteranopia.toml158
-rw-r--r--runtime/themes/modus_vivendi_tinted.toml144
-rw-r--r--runtime/themes/modus_vivendi_tritanopia.toml186
8 files changed, 750 insertions, 0 deletions
diff --git a/runtime/themes/licenses/modus_vivendi.LICENSE b/runtime/themes/licenses/modus_vivendi.LICENSE
new file mode 100644
index 00000000..7e224507
--- /dev/null
+++ b/runtime/themes/licenses/modus_vivendi.LICENSE
@@ -0,0 +1,5 @@
+Copyright (C) 2020-2023 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”
+
+(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”
diff --git a/runtime/themes/licenses/modus_vivendi_deuteranopia.LICENSE b/runtime/themes/licenses/modus_vivendi_deuteranopia.LICENSE
new file mode 100644
index 00000000..7e224507
--- /dev/null
+++ b/runtime/themes/licenses/modus_vivendi_deuteranopia.LICENSE
@@ -0,0 +1,5 @@
+Copyright (C) 2020-2023 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”
+
+(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”
diff --git a/runtime/themes/licenses/modus_vivendi_tinted.LICENSE b/runtime/themes/licenses/modus_vivendi_tinted.LICENSE
new file mode 100644
index 00000000..7e224507
--- /dev/null
+++ b/runtime/themes/licenses/modus_vivendi_tinted.LICENSE
@@ -0,0 +1,5 @@
+Copyright (C) 2020-2023 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”
+
+(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”
diff --git a/runtime/themes/licenses/modus_vivendi_tritanopia.LICENSE b/runtime/themes/licenses/modus_vivendi_tritanopia.LICENSE
new file mode 100644
index 00000000..7e224507
--- /dev/null
+++ b/runtime/themes/licenses/modus_vivendi_tritanopia.LICENSE
@@ -0,0 +1,5 @@
+Copyright (C) 2020-2023 Free Software Foundation, Inc.
+
+Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with the Front-Cover Texts being “A GNU Manual,” and with the Back-Cover Texts as in (a) below. A copy of the license is included in the section entitled “GNU Free Documentation License.”
+
+(a) The FSF’s Back-Cover Text is: “You have the freedom to copy and modify this GNU manual.”
diff --git a/runtime/themes/modus_vivendi.toml b/runtime/themes/modus_vivendi.toml
new file mode 100644
index 00000000..1ae64d89
--- /dev/null
+++ b/runtime/themes/modus_vivendi.toml
@@ -0,0 +1,242 @@
+# Author: Matous Dzivjak <matousdzivjak@gmail.com>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-theme.el
+# Version 4.3.0
+
+# Syntax highlighting
+# -------------------
+"type" = "cyan-cooler"
+"constructor" = "cyan-cooler"
+
+"constant" = "blue-cooler"
+"constant.character.escape" = "magenta"
+
+"string" = "blue-warmer"
+"string.regexp" = "magenta-faint"
+"string.special" = "blue-faint" # used for colors in CSS
+
+"comment" = "fg-dim"
+
+"variable.parameter" = "cyan"
+"variable.builtin" = "magenta-cooler"
+"label" = "fg-dim" # used for language in markdown code blocks
+"keyword" = "magenta-cooler"
+"keyword.directive" = "red-cooler"
+"function" = "magenta"
+"function.macro" = "magenta-warmer"
+
+punctuation = "fg-dim"
+"tag" = "magenta"
+"attribute" = "cyan-cooler"
+"namespace" = "blue-cooler"
+"special" = "red-cooler"
+
+"markup.heading.marker" = "fg-dim"
+"markup.heading.1" = { fg = "fg-main", modifiers = ["bold"] }
+"markup.heading.2" = { fg = "yellow-faint", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "fg-alt", modifiers = ["bold"] }
+"markup.heading.4" = { fg = "magenta", modifiers = ["bold"] }
+"markup.heading.5" = { fg = "green-faint", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "red-faint", modifiers = ["bold"] }
+"markup.list" = "fg-dim"
+"markup.list.checked" = { fg = "yellow-warmer" }
+"markup.list.unchecked" = { fg = "yellow-warmer" }
+"markup.bold" = { modifiers = ["bold"] }
+"markup.italic" = { modifiers = ["italic"] }
+"markup.strikethrough" = { modifiers = ["crossed_out"] }
+"markup.link.url" = { fg = "cyan" }
+"markup.link.text" = { fg = "blue-warmer", modifiers = ["underlined"] }
+"markup.raw.block" = { bg = "bg-dim" }
+"markup.raw.inline" = { fg = "green-cooler" }
+
+"diff.plus" = { fg = "fg-added", bg = "bg-added" }
+"diff.plus.gutter" = "green-intense"
+"diff.minus" = { fg = "fg-removed", bg = "bg-removed" }
+"diff.minus.gutter" = "red-intense"
+"diff.delta" = { fg = "fg-changed", bg = "bg-changed" }
+"diff.delta.gutter" = "yellow-intense"
+
+# User Interface
+# --------------
+
+"ui.background" = { bg = "bg-main" }
+
+"ui.linenr" = { fg = "fg-dim", bg = "bg-dim" }
+"ui.linenr.selected" = { fg = "fg-main", bg = "bg-active" }
+
+"ui.statusline" = { fg = "fg-mode-line-active", bg = "bg-mode-line-active" }
+"ui.statusline.inactive" = { fg = "fg-mode-line-inactive", bg = "bg-mode-line-inactive" }
+"ui.statusline.normal" = { fg = "blue-warmer" }
+"ui.statusline.insert" = { fg = "green-warmer" }
+"ui.statusline.select" = { fg = "magenta-warmer" }
+
+"ui.bufferline" = { bg = "bg-tab-bar" }
+"ui.bufferline.active" = { bg = "bg-tab-current", fg = "fg-mode-line-active" }
+
+"ui.popup" = { fg = "fg-main", bg = "bg-dim" }
+"ui.window" = { fg = "fg-dim" }
+"ui.help" = { fg = "fg-main", bg = "bg-dim" }
+"ui.gutter" = { bg = "bg-dim" }
+"ui.text" = "fg-main"
+"ui.text.focus" = { fg = "fg-main", bg = "bg-completion", modifiers = ["bold"] }
+"ui.text.inactive" = { fg = "fg-dim" }
+"ui.virtual" = "bg-active"
+"ui.virtual.ruler" = { bg = "bg-dim" }
+"ui.virtual.inlay-hint" = { fg = "fg-dim", modifiers = ["italic"] }
+
+"ui.selection" = { fg = "fg-main", bg = "bg-inactive" }
+"ui.selection.primary" = { fg = "fg-main", bg = "bg-active" }
+
+"ui.cursor" = { fg = "bg-main", bg = "fg-main" }
+"ui.cursor.primary" = { fg = "bg-main", bg = "fg-dim" }
+"ui.cursor.match" = { bg = "bg-paren-match" }
+"ui.cursorline.primary" = { bg = "bg-hl-line" }
+
+"ui.highlight" = { bg = "bg-hl-line" }
+
+"ui.menu" = { fg = "fg-main", bg = "bg-dim" }
+"ui.menu.selected" = { fg = "fg-main", bg = "bg-completion", modifiers = ["bold"] }
+"ui.menu.scroll" = { fg = "fg-dim", bg = "bg-cyan-intense" }
+
+"diagnostic.error" = { underline = { color = "red-intense", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "yellow-intense", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan-intense", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue-intense", style = "curl" } }
+
+error = "red"
+warning = "yellow-warmer"
+info = "cyan-cooler"
+hint = "blue-cooler"
+
+[palette]
+# Basic values
+bg-main = "#000000"
+bg-dim = "#1e1e1e"
+fg-main = "#ffffff"
+fg-dim = "#989898"
+fg-alt = "#c6daff"
+bg-active = "#535353"
+bg-inactive = "#303030"
+
+# Common accent foregrounds
+red = "#ff5f59"
+red-warmer = "#ff6b55"
+red-cooler = "#ff7f9f"
+red-faint = "#ff9580"
+red-intense = "#ff5f5f"
+green = "#44bc44"
+green-warmer = "#70b900"
+green-cooler = "#00c06f"
+green-faint = "#88ca9f"
+green-intense = "#44df44"
+yellow = "#d0bc00"
+yellow-warmer = "#fec43f"
+yellow-cooler = "#dfaf7a"
+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 = "#ff66ff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2f0"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#9ac8e0"
+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"
+
+# Special purpose
+bg-completion = "#2f447f"
+bg-hover = "#45605e"
+bg-hover-secondary = "#654a39"
+bg-hl-line = "#2f3849"
+bg-region = "#5a5a5a"
+fg-region = "#ffffff"
+
+bg-char-0 = "#0050af"
+bg-char-1 = "#7f1f7f"
+bg-char-2 = "#625a00"
+
+bg-mode-line-active = "#505050"
+fg-mode-line-active = "#ffffff"
+border-mode-line-active = "#959595"
+bg-mode-line-inactive = "#2d2d2d"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606060"
+
+modeline-err = "#ffa9bf"
+modeline-warning = "#dfcf43"
+modeline-info = "#9fefff"
+
+bg-tab-bar = "#313131"
+bg-tab-current = "#000000"
+bg-tab-other = "#545454"
+
+# Diffs
+bg-added = "#00381f"
+bg-added-faint = "#002910"
+bg-added-refine = "#034f2f"
+bg-added-fringe = "#237f3f"
+fg-added = "#a0e0a0"
+fg-added-intense = "#80e080"
+
+bg-changed = "#363300"
+bg-changed-faint = "#2a1f00"
+bg-changed-refine = "#4a4a00"
+bg-changed-fringe = "#8a7a00"
+fg-changed = "#efef80"
+fg-changed-intense = "#c0b05f"
+
+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"
+tg-paren-expression = "#453040"
diff --git a/runtime/themes/modus_vivendi_deuteranopia.toml b/runtime/themes/modus_vivendi_deuteranopia.toml
new file mode 100644
index 00000000..57c796cb
--- /dev/null
+++ b/runtime/themes/modus_vivendi_deuteranopia.toml
@@ -0,0 +1,158 @@
+# Author: Matous Dzivjak <matousdzivjak@gmail.com>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-deuteranopia-theme.el
+# Version 4.3.0
+
+inherits = "modus_vivendi"
+
+"constant.character.escape" = "magenta"
+"comment" = "yellow-cooler"
+"function" = "magenta"
+"tag" = "magenta"
+
+"ui.cursor" = { fg = "bg-main", bg = "blue-intense" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "blue-intense" }
+
+"diagnostic.error" = { underline = { color = "yellow-intense", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "magenta-faint", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+
+error = "yellow-intense"
+warning = "magenta-faint"
+info = "cyan"
+hint = "blue"
+
+[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 = "#ff6b55"
+red-cooler = "#ff7f9f"
+red-faint = "#ff9580"
+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 = "#ff66ff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2f0"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#9ac8e0"
+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"
+
+# Special purpose
+bg-completion = "#2f447f"
+bg-hover = "#45605e"
+bg-hover-secondary = "#654a39"
+bg-hl-line = "#2f3849"
+bg-region = "#5a5a5a"
+fg-region = "#ffffff"
+
+bg-char-0 = "#0050af"
+bg-char-1 = "#7f1f7f"
+bg-char-2 = "#625a00"
+
+bg-mode-line-active = "#2a2a6a"
+fg-mode-line-active = "#f0f0f0"
+border-mode-line-active = "#8080a7"
+bg-mode-line-inactive = "#2d2d2d"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606060"
+
+modeline-err = "#e5bf00"
+modeline-warning = "#c0cf35"
+modeline-info = "#abeadf"
+
+bg-tab-bar = "#313131"
+bg-tab-current = "#000000"
+bg-tab-other = "#545454"
+
+# Diffs
+bg-added = "#003066"
+bg-added-faint = "#001a4f"
+bg-added-refine = "#0f4a77"
+bg-added-fringe = "#006fff"
+fg-added = "#c4d5ff"
+fg-added-intense = "#8080ff"
+
+bg-changed = "#2f123f"
+bg-changed-faint = "#1f022f"
+bg-changed-refine = "#3f325f"
+bg-changed-fringe = "#7f55a0"
+fg-changed = "#e3cfff"
+fg-changed-intense = "#cf9fe2"
+
+bg-removed = "#3d3d00"
+bg-removed-faint = "#281f00"
+bg-removed-refine = "#555500"
+bg-removed-fringe = "#d0c03f"
+fg-removed = "#d4d48f"
+fg-removed-intense = "#d0b05f"
+
+bg-diff-context = "#1a1a1a"
+
+# Paren match
+bg-paren-match = "#2f7f9f"
+bg-paren-expression = "#453040"
diff --git a/runtime/themes/modus_vivendi_tinted.toml b/runtime/themes/modus_vivendi_tinted.toml
new file mode 100644
index 00000000..624a261c
--- /dev/null
+++ b/runtime/themes/modus_vivendi_tinted.toml
@@ -0,0 +1,144 @@
+# Author: Matous Dzivjak <matousdzivjak@gmail.com>
+# Adapted from: https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-tinted-theme.el
+# Version 4.3.0
+
+inherits = "modus_vivendi"
+
+"comment" = "red-faint"
+
+"ui.cursor.primary" = { fg = "bg-main", bg = "red" }
+
+[palette]
+# Basic values
+bg-main = "#0d0e1c"
+bg-dim = "#1d2235"
+fg-main = "#ffffff"
+fg-dim = "#989898"
+fg-alt = "#c6daff"
+bg-active = "#4a4f69"
+bg-inactive = "#2b3045"
+border = "#61647a"
+
+# Common accent foregrounds
+red = "#ff5f59"
+red-warmer = "#ff6b55"
+red-cooler = "#ff7f9f"
+red-faint = "#ff9f80"
+red-intense = "#ff5f5f"
+green = "#44bc44"
+green-warmer = "#70b900"
+green-cooler = "#00c06f"
+green-faint = "#88ca9f"
+green-intense = "#44df44"
+yellow = "#d0bc00"
+yellow-warmer = "#fec43f"
+yellow-cooler = "#dfaf7a"
+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 = "#ff66ff"
+cyan = "#00d3d0"
+cyan-warmer = "#4ae2f0"
+cyan-cooler = "#6ae4b9"
+cyan-faint = "#9ac8e0"
+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 = "#350f14"
+bg-green-nuanced = "#002718"
+bg-yellow-nuanced = "#2c1f00"
+bg-blue-nuanced = "#131c4d"
+bg-magenta-nuanced = "#2f133f"
+bg-cyan-nuanced = "#04253f"
+
+# Special purpose
+bg-completion = "#483d8a"
+bg-hover = "#45605e"
+bg-hover-secondary = "#654a39"
+bg-hl-line = "#303a6f"
+bg-region = "#555a66"
+fg-region = "#ffffff"
+
+bg-char-0 = "#0050af"
+bg-char-1 = "#7f1f7f"
+bg-char-2 = "#625a00"
+
+bg-mode-line-active = "#484d67"
+fg-mode-line-active = "#ffffff"
+border-mode-line-active = "#979797"
+bg-mode-line-inactive = "#292d48"
+fg-mode-line-inactive = "#969696"
+border-mode-line-inactive = "#606270"
+
+modeline-err = "#ffa9bf"
+modeline-warning = "#dfcf43"
+modeline-info = "#9fefff"
+
+bg-tab-bar = "#2c3045"
+bg-tab-current = "#0d0e1c"
+bg-tab-other = "#4a4f6a"
+
+# Diffs
+bg-added = "#003a2f"
+bg-added-faint = "#002922"
+bg-added-refine = "#035542"
+bg-added-fringe = "#23884f"
+fg-added = "#a0e0a0"
+fg-added-intense = "#80e080"
+
+bg-changed = "#363300"
+bg-changed-faint = "#2a1f00"
+bg-changed-refine = "#4a4a00"
+bg-changed-fringe = "#8f7a30"
+fg-changed = "#efef80"
+fg-changed-intense = "#c0b05f"
+
+bg-removed = "#4f1127"
+bg-removed-faint = "#380a19"
+bg-removed-refine = "#781a3a"
+bg-removed-fringe = "#b81a26"
+fg-removed = "#ffbfbf"
+fg-removed-intense = "#ff9095"
+
+bg-diff-context = "#1a1f30"
+
+# Uncommon accent backgrounds
+bg-ochre = "#442c2f"
+bg-lavender = "#38325c"
+bg-sage = "#0f3d30"
+
+# Paren match
+bg-paren-match = "#2f7f9f"
+bg-paren-expression = "#453040"
diff --git a/runtime/themes/modus_vivendi_tritanopia.toml b/runtime/themes/modus_vivendi_tritanopia.toml
new file mode 100644
index 00000000..983bb754
--- /dev/null
+++ b/runtime/themes/modus_vivendi_tritanopia.toml
@@ -0,0 +1,186 @@
+# Author: Matous Dzivjak <matousdzivjak@gmail.com>
+# Adapted from https://protesilaos.com/emacs/modus-themes, by Protesilaos Stavrou
+# Source: https://github.com/protesilaos/modus-themes/blob/main/modus-vivendi-tritanopia-theme.el
+# Version 4.3.0
+
+inherits = "modus_vivendi"
+
+"type" = "blue-warmer"
+"constructor" = "blue-warmer"
+"constant" = "green-cooler"
+"constant.character.escape" = "red-cooler"
+"string" = "cyan"
+"comment" = "red-faint"
+"variable.parameter" = "cyan-cooler"
+"keyword" = "red-cooler"
+"keyword.directive" = "red-warmer"
+"function" = "cyan-warmer"
+"function.macro" = "magenta"
+"tag" = "red-cooler"
+
+"markup.heading.2" = { fg = "red-faint", modifiers = ["bold"] }
+"markup.heading.3" = { fg = "cyan-faint", modifiers = ["bold"] }
+"markup.heading.6" = { fg = "magenta-faint", modifiers = ["bold"] }
+"markup.link.url" = { fg = "cyan-cooler" }
+"markup.link.text" = { fg = "cyan", modifiers = ["underlined"] }
+
+"ui.cursor" = { fg = "bg-main", bg = "red-intense" }
+"ui.cursor.primary.normal" = { fg = "bg-main", bg = "red-intense" }
+
+"diagnostic.error" = { underline = { color = "red-warmer", style = "curl" } }
+"diagnostic.warning" = { underline = { color = "magenta", style = "curl" } }
+"diagnostic.info" = { underline = { color = "cyan", style = "curl" } }
+"diagnostic.hint" = { underline = { color = "blue", style = "curl" } }
+
+error = "red-warmer"
+warning = "magenta"
+info = "cyan"
+hint = "blue"
+
+[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 = "#00709f"
+bg-char-2 = "#5f3faf"
+
+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"