[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ef-themes b2f134ed6c 2/2: Add ef-owl theme
From: |
ELPA Syncer |
Subject: |
[elpa] externals/ef-themes b2f134ed6c 2/2: Add ef-owl theme |
Date: |
Mon, 19 Aug 2024 06:58:02 -0400 (EDT) |
branch: externals/ef-themes
commit b2f134ed6c4fb7a6b0b78378842792bee1e24d0c
Author: Protesilaos Stavrou <info@protesilaos.com>
Commit: Protesilaos Stavrou <info@protesilaos.com>
Add ef-owl theme
---
contrast-ratios.org | 65 ++++++++++
ef-owl-theme.el | 348 ++++++++++++++++++++++++++++++++++++++++++++++++++++
ef-themes.el | 1 +
3 files changed, 414 insertions(+)
diff --git a/contrast-ratios.org b/contrast-ratios.org
index 0d112c140f..ea0c685d28 100644
--- a/contrast-ratios.org
+++ b/contrast-ratios.org
@@ -1547,6 +1547,71 @@ a tone. Blue is okay.
| #242e39 | 10245 | 1.42 |
#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f
+* ef-owl
+:PROPERTIES:
+:CUSTOM_ID: h:1593749c-d874-4252-ac78-7345b67bc16f
+:END:
+
+** Base colours
+:PROPERTIES:
+:CUSTOM_ID: h:e6f75663-0cea-43d7-b503-9460417ad620
+:END:
+
+| Name | | #292c2f | #393c3f | #404245 | #333539 |
+|----------------+---------+---------+---------+---------+---------|
+| fg-main | #d0d0d0 | 9.10 | 7.20 | 6.54 | 7.97 |
+| fg-dim | #857f8f | 3.63 | 2.87 | 2.61 | 3.18 |
+| fg-alt | #aab9af | 6.87 | 5.43 | 4.93 | 6.01 |
+| red | #d67869 | 4.51 | 3.57 | 3.24 | 3.95 |
+| red-warmer | #df885f | 5.23 | 4.14 | 3.76 | 4.58 |
+| red-cooler | #e4959f | 6.08 | 4.81 | 4.37 | 5.32 |
+| red-faint | #eba0af | 6.81 | 5.38 | 4.89 | 5.96 |
+| green | #70bb70 | 6.04 | 4.77 | 4.34 | 5.28 |
+| green-warmer | #98c06f | 6.76 | 5.34 | 4.85 | 5.91 |
+| green-cooler | #67bb97 | 6.11 | 4.83 | 4.38 | 5.34 |
+| green-faint | #9fb3a7 | 6.34 | 5.01 | 4.55 | 5.55 |
+| yellow | #c09f6f | 5.64 | 4.46 | 4.05 | 4.93 |
+| yellow-warmer | #d1a45f | 6.14 | 4.86 | 4.41 | 5.38 |
+| yellow-cooler | #cf9f90 | 6.03 | 4.76 | 4.33 | 5.27 |
+| yellow-faint | #cbb0a0 | 6.86 | 5.42 | 4.92 | 6.00 |
+| blue | #8fa4e5 | 5.76 | 4.55 | 4.13 | 5.04 |
+| blue-warmer | #a0a0ef | 5.86 | 4.63 | 4.21 | 5.13 |
+| blue-cooler | #72aff0 | 6.09 | 4.81 | 4.37 | 5.33 |
+| blue-faint | #aabae0 | 7.23 | 5.71 | 5.19 | 6.32 |
+| magenta | #e5a0ea | 7.05 | 5.57 | 5.06 | 6.17 |
+| magenta-warmer | #d389af | 5.33 | 4.21 | 3.82 | 4.66 |
+| magenta-cooler | #cfa0e8 | 6.58 | 5.20 | 4.73 | 5.76 |
+| magenta-faint | #e0bbdf | 8.25 | 6.52 | 5.93 | 7.22 |
+| cyan | #8fb8ea | 6.83 | 5.40 | 4.90 | 5.98 |
+| cyan-warmer | #99bfd0 | 7.17 | 5.66 | 5.14 | 6.27 |
+| cyan-cooler | #7ac4b7 | 6.96 | 5.50 | 5.00 | 6.09 |
+| cyan-faint | #a2c5d8 | 7.70 | 6.09 | 5.53 | 6.74 |
+#+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:a2526c91-5f18-4ae7-acab-e2c827db5811
+:END:
+
+| Name | | #5b637e |
+|------------------+---------+---------|
+| modeline-err | #ffd2ff | 4.51 |
+| modeline-warning | #e4e947 | 4.54 |
+| modeline-info | #8defff | 4.51 |
+#+TBLFM: $3='(Λ $2 @1$3);%.2f
+
+** Distance and contrast between main backgrounds
+:PROPERTIES:
+:CUSTOM_ID: h:24e7a52b-26bb-4f7b-b5e8-51b84ba56f30
+:END:
+
+# bg-main / bg-dim, bg-main / bg-alt
+| #292c2f | distance | contrast |
+|---------+----------+----------|
+| #393c3f | 2322 | 1.27 |
+| #404245 | 4490 | 1.39 |
+#+TBLFM: $2='(Δ $1 @1$1) :: $3='(Λ $1 @1$1);%.2f
+
* ef-reverie
:PROPERTIES:
:CUSTOM_ID: h:eea07b9c-81ea-4158-b7d6-79dcc8217b8b
diff --git a/ef-owl-theme.el b/ef-owl-theme.el
new file mode 100644
index 0000000000..4a60b2ec28
--- /dev/null
+++ b/ef-owl-theme.el
@@ -0,0 +1,348 @@
+;;; ef-owl-theme.el --- Legible dark theme with blue, cyan, magenta and
desaturated colors -*- lexical-binding:t -*-
+
+;; Copyright (C) 2022-2024 Free Software Foundation, Inc.
+
+;; Author: Protesilaos Stavrou <info@protesilaos.com>
+;; Maintainer: Protesilaos Stavrou <info@protesilaos.com>
+;; URL: https://github.com/protesilaos/ef-themes
+;; Keywords: faces, theme, accessibility
+
+;; This file is NOT 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)
+
+;;;###theme-autoload
+ (deftheme ef-owl
+ "Legible dark theme with blue, cyan, magenta and desaturated colors."
+ :background-mode 'dark
+ :kind 'color-scheme
+ :family 'ef)
+
+ (defconst ef-owl-palette
+ '(
+;;; Basic values
+
+ (bg-main "#292c2f")
+ (fg-main "#d0d0d0")
+ (bg-dim "#393c3f")
+ (fg-dim "#857f8f")
+ (bg-alt "#404245")
+ (fg-alt "#aab9af")
+
+ (bg-active "#606265")
+ (bg-inactive "#333539")
+
+;;; Basic hues for foreground values
+
+ (red "#d67869")
+ (red-warmer "#df885f")
+ (red-cooler "#e4959f")
+ (red-faint "#eba0af")
+ (green "#70bb70")
+ (green-warmer "#98c06f")
+ (green-cooler "#67bb97")
+ (green-faint "#9fb3a7")
+ (yellow "#c09f6f")
+ (yellow-warmer "#d1a45f")
+ (yellow-cooler "#cf9f90")
+ (yellow-faint "#cbb0a0")
+ (blue "#8fa4e5")
+ (blue-warmer "#a0a0ef")
+ (blue-cooler "#72aff0")
+ (blue-faint "#aabae0")
+ (magenta "#e5a0ea")
+ (magenta-warmer "#d389af")
+ (magenta-cooler "#cfa0e8")
+ (magenta-faint "#e0bbdf")
+ (cyan "#8fb8ea")
+ (cyan-warmer "#99bfd0")
+ (cyan-cooler "#7ac4b7")
+ (cyan-faint "#a2c5d8")
+
+;;; Basic hues for background values
+
+ (bg-red-intense "#a02f50")
+ (bg-green-intense "#30682f")
+ (bg-yellow-intense "#8f665f")
+ (bg-blue-intense "#4f509f")
+ (bg-magenta-intense "#885997")
+ (bg-cyan-intense "#4f70aa")
+
+ (bg-red-subtle "#682a33")
+ (bg-green-subtle "#2f502f")
+ (bg-yellow-subtle "#5a4020")
+ (bg-blue-subtle "#3a3980")
+ (bg-magenta-subtle "#553977")
+ (bg-cyan-subtle "#22526a")
+
+;;; Diffs
+
+ (bg-added "#304a4f")
+ (bg-added-faint "#16383f")
+ (bg-added-refine "#2f6767")
+ (fg-added "#a0d0f0")
+
+ (bg-changed "#51512f")
+ (bg-changed-faint "#40332f")
+ (bg-changed-refine "#64651f")
+ (fg-changed "#dada90")
+
+ (bg-removed "#5a3142")
+ (bg-removed-faint "#4a2034")
+ (bg-removed-refine "#782a4a")
+ (fg-removed "#f0bfcf")
+
+;;; Graphs
+
+ (bg-graph-red-0 "#b52c2c")
+ (bg-graph-red-1 "#702020")
+ (bg-graph-green-0 "#0fed00")
+ (bg-graph-green-1 "#007800")
+ (bg-graph-yellow-0 "#f1e00a")
+ (bg-graph-yellow-1 "#b08940")
+ (bg-graph-blue-0 "#2fafef")
+ (bg-graph-blue-1 "#1f2f8f")
+ (bg-graph-magenta-0 "#bf94fe")
+ (bg-graph-magenta-1 "#5f509f")
+ (bg-graph-cyan-0 "#47dfea")
+ (bg-graph-cyan-1 "#00808f")
+
+;;; Special hues
+
+ (bg-mode-line "#5b637e")
+ (fg-mode-line "#dadfe5")
+ (bg-completion "#354864")
+ (bg-hover "#706a5f")
+ (bg-hover-secondary "#335769")
+ (bg-hl-line "#344255")
+ (bg-paren "#706069")
+ (bg-err "#4f231f") ; check with err
+ (bg-warning "#3a390f") ; check with warning
+ (bg-info "#104422") ; check with info
+
+ (border "#4f5f66")
+ (cursor "#afe6ef")
+ (fg-intense "#ffffff")
+
+ (modeline-err "#ffd2ff")
+ (modeline-warning "#e4e947")
+ (modeline-info "#8defff")
+
+ (underline-err "#df4f2f")
+ (underline-warning "#d4c000")
+ (underline-info "#22b022")
+
+ (bg-char-0 "#0050af")
+ (bg-char-1 "#7f1f7f")
+ (bg-char-2 "#625a00")
+
+;;; Mappings
+
+;;;; General mappings
+
+ (bg-fringe unspecified)
+ (fg-fringe unspecified)
+
+ (err red-warmer)
+ (warning yellow-warmer)
+ (info green)
+
+ (link cyan-warmer)
+ (link-alt yellow-cooler)
+ (name blue)
+ (keybind green-cooler)
+ (identifier magenta-faint)
+ (prompt blue-cooler)
+
+ (bg-region "#404f66")
+ (fg-region unspecified)
+
+;;;; Code mappings
+
+ (builtin blue)
+ (comment yellow-faint)
+ (constant green)
+ (fnname yellow-cooler)
+ (keyword cyan-warmer)
+ (preprocessor cyan-cooler)
+ (docstring green-faint)
+ (string green-cooler)
+ (type magenta-cooler)
+ (variable blue-warmer)
+ (rx-escape blue-cooler) ; compare with `string'
+ (rx-construct red-warmer)
+
+;;;; Accent mappings
+
+ (accent-0 cyan-warmer)
+ (accent-1 yellow-cooler)
+ (accent-2 red)
+ (accent-3 green)
+
+;;;; Date mappings
+
+ (date-common cyan-cooler)
+ (date-deadline red)
+ (date-event fg-alt)
+ (date-holiday red)
+ (date-now fg-main)
+ (date-range fg-alt)
+ (date-scheduled yellow)
+ (date-weekday cyan-cooler)
+ (date-weekend red-faint)
+
+;;;; Prose mappings
+
+ (prose-code magenta-warmer)
+ (prose-done green)
+ (prose-macro green-cooler)
+ (prose-metadata fg-dim)
+ (prose-metadata-value fg-alt)
+ (prose-table fg-alt)
+ (prose-table-formula err)
+ (prose-tag yellow-faint)
+ (prose-todo red-warmer)
+ (prose-verbatim blue)
+
+;;;; Mail mappings
+
+ (mail-cite-0 cyan)
+ (mail-cite-1 green-cooler)
+ (mail-cite-2 blue-warmer)
+ (mail-cite-3 yellow-cooler)
+ (mail-part magenta-faint)
+ (mail-recipient cyan-warmer)
+ (mail-subject blue-cooler)
+ (mail-other cyan-cooler)
+
+;;;; Search mappings
+
+ (bg-search-current bg-yellow-intense)
+ (bg-search-lazy bg-cyan-intense)
+ (bg-search-replace bg-red-intense)
+
+ (bg-search-rx-group-0 bg-magenta-intense)
+ (bg-search-rx-group-1 bg-green-intense)
+ (bg-search-rx-group-2 bg-red-subtle)
+ (bg-search-rx-group-3 bg-cyan-subtle)
+
+;;;; Space mappings
+
+ (bg-space unspecified)
+ (fg-space border)
+ (bg-space-err bg-yellow-intense)
+
+;;;; Tab mappings
+
+ (bg-tab-bar bg-alt)
+ (bg-tab-current bg-main)
+ (bg-tab-other bg-active)
+
+;;;; Terminal mappings
+
+ (bg-term-black "black")
+ (fg-term-black "black")
+ (bg-term-black-bright "gray35")
+ (fg-term-black-bright "gray35")
+
+ (bg-term-red red)
+ (fg-term-red red)
+ (bg-term-red-bright red-warmer)
+ (fg-term-red-bright red-warmer)
+
+ (bg-term-green green)
+ (fg-term-green green)
+ (bg-term-green-bright green-warmer)
+ (fg-term-green-bright green-warmer)
+
+ (bg-term-yellow yellow)
+ (fg-term-yellow yellow)
+ (bg-term-yellow-bright yellow-cooler)
+ (fg-term-yellow-bright yellow-cooler)
+
+ (bg-term-blue blue)
+ (fg-term-blue blue)
+ (bg-term-blue-bright blue-cooler)
+ (fg-term-blue-bright blue-cooler)
+
+ (bg-term-magenta magenta)
+ (fg-term-magenta magenta)
+ (bg-term-magenta-bright magenta-cooler)
+ (fg-term-magenta-bright magenta-cooler)
+
+ (bg-term-cyan cyan-warmer)
+ (fg-term-cyan cyan-warmer)
+ (bg-term-cyan-bright cyan-cooler)
+ (fg-term-cyan-bright cyan-cooler)
+
+ (bg-term-white "gray65")
+ (fg-term-white "gray65")
+ (bg-term-white-bright "white")
+ (fg-term-white-bright "white")
+
+;;;; Rainbow mappings
+
+ (rainbow-0 green-cooler)
+ (rainbow-1 blue)
+ (rainbow-2 magenta-warmer)
+ (rainbow-3 cyan-cooler)
+ (rainbow-4 yellow-cooler)
+ (rainbow-5 magenta-cooler)
+ (rainbow-6 red-cooler)
+ (rainbow-7 green-warmer)
+ (rainbow-8 yellow))
+ "The `ef-owl' palette.
+Color values 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 color that already exists
+in the palette and is associated with a HEX-VALUE.")
+
+ (defcustom ef-owl-palette-overrides nil
+ "Overrides for `ef-owl-palette'.
+
+Mirror the elements of the aforementioned palette, overriding
+their value.
+
+For overrides that are shared across all of the Ef themes,
+refer to `ef-themes-common-palette-overrides'.
+
+To preview the palette entries, use `ef-themes-preview-colors' or
+`ef-themes-preview-colors-current' (read the documentation for
+further details)."
+ :group 'ef-themes
+ :package-version '(ef-themes . "1.0.0")
+ :type '(repeat (list symbol (choice symbol string)))
+ :link '(info-link "(ef-themes) Palette overrides"))
+
+ (ef-themes-theme ef-owl ef-owl-palette ef-owl-palette-overrides)
+
+ (provide-theme 'ef-owl))
+
+;;; ef-owl-theme.el ends here
diff --git a/ef-themes.el b/ef-themes.el
index 6449560c93..b127f6b251 100644
--- a/ef-themes.el
+++ b/ef-themes.el
@@ -89,6 +89,7 @@
ef-maris-dark
ef-melissa-dark
ef-night
+ ef-owl
ef-rosa
ef-symbiosis
ef-trio-dark