branch: externals/ef-themes commit b6fc32694646c65adbf1ed6d3d7bfddf55e16273 Author: Protesilaos Stavrou <i...@protesilaos.com> Commit: Protesilaos Stavrou <i...@protesilaos.com>
Add ef-bio theme Read the announcement, which also includes screen shots: <https://protesilaos.com/codelog/2022-10-02-ef-themes-bio-theme/>. Enjoy your new theme :) --- contrast-ratios.org | 62 +++++++++++++++++ ef-bio-theme.el | 196 ++++++++++++++++++++++++++++++++++++++++++++++++++++ ef-themes.el | 3 +- 3 files changed, 260 insertions(+), 1 deletion(-) diff --git a/contrast-ratios.org b/contrast-ratios.org index 3235cb5f05..4dae84918f 100644 --- a/contrast-ratios.org +++ b/contrast-ratios.org @@ -102,6 +102,68 @@ C1 and C2 are color values written in hexadecimal RGB." | #36322f | 13351 | 1.52 | #+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f +* ef-bio +:PROPERTIES: +:CUSTOM_ID: h:3926f2b9-ff3b-42db-b11a-54fcc11488cb +:END: + +** Base colours +:PROPERTIES: +:CUSTOM_ID: h:669d758b-9d7b-441d-bd56-bc15a1bc27e4 +:END: + +| Name | | #111111 | #222522 | #303230 | #161916 | +|----------------+---------+---------+---------+---------+---------| +| red | #ef6560 | 6.03 | 4.94 | 4.12 | 5.66 | +| red-warmer | #f47360 | 6.72 | 5.51 | 4.60 | 6.30 | +| red-cooler | #ff778f | 7.45 | 6.11 | 5.10 | 7.00 | +| red-faint | #d56f72 | 5.71 | 4.68 | 3.91 | 5.36 | +| green | #3fb83f | 7.32 | 6.00 | 5.01 | 6.87 | +| green-warmer | #7fc500 | 8.89 | 7.29 | 6.09 | 8.35 | +| green-cooler | #00c089 | 8.00 | 6.57 | 5.48 | 7.51 | +| green-faint | #7fc07f | 8.77 | 7.19 | 6.00 | 8.23 | +| yellow | #d4aa02 | 8.59 | 7.04 | 5.88 | 8.06 | +| yellow-warmer | #e09a0f | 7.91 | 6.49 | 5.42 | 7.43 | +| yellow-cooler | #cfc04f | 10.17 | 8.34 | 6.96 | 9.54 | +| yellow-faint | #b7a07f | 7.51 | 6.16 | 5.14 | 7.05 | +| blue | #37aff6 | 7.76 | 6.36 | 5.31 | 7.28 | +| blue-warmer | #78afff | 8.43 | 6.91 | 5.77 | 7.91 | +| blue-cooler | #32cfef | 10.17 | 8.34 | 6.96 | 9.54 | +| blue-faint | #6ab4cf | 8.13 | 6.67 | 5.57 | 7.63 | +| magenta | #d38faf | 7.48 | 6.14 | 5.12 | 7.02 | +| magenta-warmer | #e490df | 8.41 | 6.90 | 5.76 | 7.90 | +| magenta-cooler | #af9fff | 8.30 | 6.81 | 5.68 | 7.79 | +| magenta-faint | #caa5bf | 8.67 | 7.11 | 5.94 | 8.14 | +| cyan | #6fc5ef | 9.81 | 8.05 | 6.71 | 9.21 | +| cyan-warmer | #7fcfdf | 10.69 | 8.77 | 7.32 | 10.04 | +| cyan-cooler | #5dc0aa | 8.62 | 7.07 | 5.90 | 8.09 | +| cyan-faint | #7fb4cf | 8.39 | 6.88 | 5.74 | 7.88 | +#+TBLFM: $3='(Λ $2 @1$3);%.2f :: $4='(Λ $2 @1$4);%.2f :: $5='(Λ $2 @1$5);%.2f :: $6='(Λ $2 @1$6);%.2f + +** Special colours against the modeline +:PROPERTIES: +:CUSTOM_ID: h:ff277c9d-9dbb-4d0c-b126-d672fbee7e2e +:END: + +| Name | | #00552f | +|------------------+---------+---------| +| modeline-err | #ff9fbf | 4.68 | +| modeline-warning | #dfcf33 | 5.60 | +| modeline-info | #7fdfff | 5.94 | +#+TBLFM: $3='(Λ $2 @1$3);%.2f + +** Distance and contrast between main backgrounds +:PROPERTIES: +:CUSTOM_ID: h:66e7998e-bfac-4f7e-a269-b6f701e567d4 +:END: + +# bg-main / bg-dim, bg-main / bg-alt +| #111111 | distance | contrast | +|---------+----------+----------| +| #222522 | 3068 | 1.22 | +| #303230 | 9232 | 1.46 | +#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f + * ef-dark :PROPERTIES: :CUSTOM_ID: h:c97a3ebc-de07-40bf-af86-1df8be72f214 diff --git a/ef-bio-theme.el b/ef-bio-theme.el new file mode 100644 index 0000000000..23ec75b2cd --- /dev/null +++ b/ef-bio-theme.el @@ -0,0 +1,196 @@ +;;; ef-bio-theme.el --- Legible dark theme with green, teal, blue, purple colors -*- lexical-binding:t -*- + +;; Copyright (C) 2022 Free Software Foundation, Inc. + +;; Author: Protesilaos Stavrou <i...@protesilaos.com> +;; Maintainer: Ef-Themes Development <~protesilaos/ef-the...@lists.sr.ht> +;; URL: https://git.sr.ht/~protesilaos/ef-themes +;; Mailing-List: https://lists.sr.ht/~protesilaos/ef-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 `ef-themes' are a collection of light and dark themes for GNU +;; Emacs whose goal is to provide colorful ("pretty") yet legible +;; options for users who want something with a bit more flair than the +;; `modus-themes' (also designed by me). + +;;; Code: + + + +(eval-and-compile + (require 'ef-themes) + + (deftheme ef-bio "Legible dark theme with green, teal, blue, purple colors.") + + (defconst ef-bio-palette + '(;; Basic tones + (bg-main "#111111") + (fg-main "#cfdfd5") + (bg-dim "#222522") + (fg-dim "#808f80") + (bg-alt "#303230") + (fg-alt "#8fcfaf") + + (bg-active "#404240") + (bg-inactive "#161916") + + ;; Basic hues for foreground values + (red "#ef6560") + (red-warmer "#f47360") + (red-cooler "#ff778f") + (red-faint "#d56f72") + (green "#3fb83f") + (green-warmer "#7fc500") + (green-cooler "#00c089") + (green-faint "#7fc07f") + (yellow "#d4aa02") + (yellow-warmer "#e09a0f") + (yellow-cooler "#cfc04f") + (yellow-faint "#b7a07f") + (blue "#37aff6") + (blue-warmer "#78afff") + (blue-cooler "#32cfef") + (blue-faint "#6ab4cf") + (magenta "#d38faf") + (magenta-warmer "#e490df") + (magenta-cooler "#af9fff") + (magenta-faint "#caa5bf") + (cyan "#6fc5ef") + (cyan-warmer "#7fcfdf") + (cyan-cooler "#5dc0aa") + (cyan-faint "#7fb4cf") + + ;; Basic hues for background values + (bg-red "#bd1f30") + (bg-green "#20a020") + (bg-yellow "#845020") + (bg-blue "#3633b0") + (bg-magenta "#b04fcf") + (bg-cyan "#2270be") + + (bg-red-subtle "#6a002a") + (bg-green-subtle "#00422a") + (bg-yellow-subtle "#5a3000") + (bg-blue-subtle "#242679") + (bg-magenta-subtle "#50105a") + (bg-cyan-subtle "#004065") + + ;; Diffs + (bg-added "#00301f") + (bg-added-faint "#002110") + (bg-added-refine "#03462f") + + (bg-changed "#323200") + (bg-changed-faint "#281a00") + (bg-changed-refine "#484800") + + (bg-removed "#4a1119") + (bg-removed-faint "#320a0f") + (bg-removed-refine "#751a1f") + + ;; Graphs + (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") + + ;; Special hues + (bg-mode-line "#00552f") (fg-mode-line "#d0ffe0") + (bg-accent "#b59ffa") (fg-accent "#000000") + (bg-completion "#0f3c2f") + (bg-hover "#4f3f9a") + (bg-hover-alt "#004d0f") + (bg-hl-line "#00331f") + (bg-region "#2a3027") + (bg-paren "#664950") + (bg-err "#361400") ; check with err + (bg-warning "#332800") ; check with warning + (bg-info "#152800") ; check with info + + (border "#445f5f") + (cursor "#35ff38") + (fg-intense "#ffffff") + + (modeline-err "#ff9fbf") + (modeline-warning "#dfcf33") + (modeline-info "#7fdfff") + + ;; Mappings + (err red) + (warning yellow-cooler) + (info green) + + (link green-cooler) + (link-alt cyan-cooler) + (date cyan-cooler) + (name green) + (keybind green) + (prompt green-warmer) + + (builtin green) + (comment yellow-faint) + (constant blue) + (fnname green-warmer) + (keyword green-cooler) + (preprocessor green) + (docstring green-faint) + (string magenta-cooler) + (type cyan-warmer) + (variable blue-warmer) + + (rx-escape yellow-cooler) ; compare with `string' + (rx-construct green) + + (accent-0 green-cooler) + (accent-1 blue-warmer) + (accent-2 magenta-warmer) + (accent-3 green-warmer) + + (mail-0 green-cooler) + (mail-1 blue-warmer) + (mail-2 green-warmer) + (mail-3 magenta-cooler) + (mail-4 green) + (mail-5 blue) + + (rainbow-0 green-cooler) + (rainbow-1 green-warmer) + (rainbow-2 cyan-cooler) + (rainbow-3 magenta-cooler) + (rainbow-4 cyan-warmer) + (rainbow-5 yellow-cooler) + (rainbow-6 blue) + (rainbow-7 cyan) + (rainbow-8 magenta)) + "The `ef-bio' palette.") + + (ef-themes-theme ef-bio ef-bio-palette) + + (provide-theme 'ef-bio)) + +;;; ef-bio-theme.el ends here diff --git a/ef-themes.el b/ef-themes.el index fef3350e2e..f57d7f1af5 100644 --- a/ef-themes.el +++ b/ef-themes.el @@ -53,7 +53,7 @@ "List of symbols with the light Ef themes.") (defconst ef-themes-dark-themes - '(ef-autumn ef-dark ef-deuteranopia-dark ef-duo-dark ef-night ef-trio-dark ef-winter) + '(ef-autumn ef-bio ef-dark ef-deuteranopia-dark ef-duo-dark ef-night ef-trio-dark ef-winter) "List of symbols with the dark Ef themes.") (defconst ef-themes-collection @@ -762,6 +762,7 @@ Helper function for `ef-themes-preview-colors'." ;;;; diff-mode `(diff-added ((,c :background ,bg-added))) `(diff-changed ((,c :background ,bg-changed :extend t))) + `(diff-changed-unspecified ((,c :inherit diff-changed))) `(diff-removed ((,c :background ,bg-removed))) `(diff-refine-added ((,c :background ,bg-added-refine :foreground ,fg-intense))) `(diff-refine-changed ((,c :background ,bg-changed-refine :foreground ,fg-intense)))