about summary refs log tree commit diff
diff options
context:
space:
mode:
authorWilliam Carroll <wpcarro@gmail.com>2020-04-02T13·36+0100
committerWilliam Carroll <wpcarro@gmail.com>2020-04-02T13·36+0100
commitbe13644f1c8190957fd10139a7f116e168222502 (patch)
tree3b7588fdf8bfcaaa56f5b150fad4d6feb1bf5cbb
parent8fa3140253665c9b0ece9acbf14f3e56de895416 (diff)
Tidy up themes.el
TL;DR:
- Prune unused themes
- Prefer "JetBrainsMono" font for all themes
- Remove TODOs that I've either supported or that I'm uninterested in supporting
-rw-r--r--emacs/.emacs.d/wpc/themes.el121
1 files changed, 34 insertions, 87 deletions
diff --git a/emacs/.emacs.d/wpc/themes.el b/emacs/.emacs.d/wpc/themes.el
index ee81d3beed72..2c4e48131d83 100644
--- a/emacs/.emacs.d/wpc/themes.el
+++ b/emacs/.emacs.d/wpc/themes.el
@@ -3,7 +3,6 @@
 
 ;;; Commentary:
 
-
 ;; Because I couldn't get cycle-themes to work, I'm writing my own version.
 ;;
 ;; Terminology:
@@ -13,9 +12,6 @@
 ;;   (see above), font, wallpaper.  "theme" is a superset of "colorscheme".
 ;;
 ;; Wishlist:
-;; - TODO: Find a way to update the terminal (e.g. terminator) theme.
-;; - TODO: Ensure terminal font is updated when Emacs font changes.
-;; - TODO: Support a light theme.
 ;; - TODO: Support Rick & Morty theme.
 ;; - TODO: Support retro/arcade/80s theme.
 
@@ -42,95 +38,46 @@
 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
 
 ;; The theme struct couples a font, a wallpaper, and a colorschemes.
-(cl-defstruct theme
-  font
-  wallpaper
-  colorscheme)
+(cl-defstruct theme font wallpaper colorscheme)
 
 (defvar themes/current nil
   "Store the name of the currently enabled theme.")
 
+(defconst themes/preferred-font "JetBrainsMono"
+  "The font I currently favor.")
+
 (defconst themes/themes
-  (list (dotted/new
-         "Forest"
-         (make-theme
-          :font "Operator Mono Light"
-          :wallpaper "forest_8k.jpg"
-          :colorscheme 'doom-peacock))
-        (dotted/new
-         "Geometry"
-         (make-theme
-          :font "Input Mono Medium"
-          :wallpaper "geometric_4k.jpg"
-          :colorscheme 'doom-molokai))
-        (dotted/new
-         "Ice"
-         (make-theme
-          :font "Go Mono"
-          :wallpaper "construction_paper_iceberg_4k.jpg"
-          :colorscheme 'doom-dracula))
-        (dotted/new
-         "Lego Manhattan"
-         (make-theme
-          :font "Input Mono Medium"
-          :wallpaper "lego_manhattan.jpg"
-          :colorscheme 'base16-atelier-sulphurpool))
-        (dotted/new
-         "Shapely Patterns"
-         (make-theme
-          :font "Operator Mono Light"
-          :wallpaper "geometric_dark_4k.jpg"
-          :colorscheme 'doom-vibrant))
+  (list (dotted/new "Forest"
+                    (make-theme
+                     :font themes/preferred-font
+                     :wallpaper "forest_8k.jpg"
+                     :colorscheme 'doom-peacock))
+        (dotted/new "Geometry"
+                    (make-theme
+                     :font themes/preferred-font
+                     :wallpaper "geometric_4k.jpg"
+                     :colorscheme 'doom-molokai))
+        (dotted/new "Shapely Patterns"
+                    (make-theme
+                     :font themes/preferred-font
+                     :wallpaper "geometric_dark_4k.jpg"
+                     :colorscheme 'doom-vibrant))
         ;; TODO: Support setting backgrounds as solid colors.
-        (dotted/new
-         "Gruvbox"
-         (make-theme
-          :font "JetBrainsMono"
-          :wallpaper "geometric_dark_4k.jpg"
-          :colorscheme 'doom-gruvbox))
-        (dotted/new
-         "Solarized Light"
-         (make-theme
-          :font "JetBrainsMono"
-          :wallpaper "solarized_light_thinkpad.jpg"
-          :colorscheme 'doom-solarized-light))
-        (dotted/new
-         "Lightness"
-         (make-theme
-          :font "Input Mono Medium"
-          :wallpaper "construction_paper_iceberg_4k.jpg"
-          :colorscheme 'doom-one-light))
-        (dotted/new
-         "Edison Lightbulb"
-         (make-theme
-          :font "Mononoki Medium"
-          :wallpaper "lightbulb_4k.jpg"
-          :colorscheme 'base16-atelier-cave))
-        (dotted/new
-         "Wall-E"
-         (make-theme
-          :font "Input Mono Medium"
-          :wallpaper "walle_4k.jpg"
-          :colorscheme 'doom-material))
-        (dotted/new
-         "Galaxy"
-         (make-theme
-          :font "Source Code Pro"
-          :wallpaper "galaxy_4k.jpg"
-          :colorscheme 'doom-moonlight))
-        (dotted/new
-         "Underwater"
-         (make-theme
-          :font "Go Mono"
-          ;; TODO: Change this wallpaper to an oceanic scene.
-          :wallpaper "galaxy_4k.jpg"
-          :colorscheme 'doom-solarized-dark))
-        (dotted/new
-         "Fantasy Tree"
-         (make-theme
-          :font "Go Mono"
-          :wallpaper "fantasy_tree_4k.jpg"
-          :colorscheme 'doom-outrun-electric)))
+        (dotted/new "Gruvbox"
+                    (make-theme
+                     :font themes/preferred-font
+                     :wallpaper "forest_8k.jpg"
+                     :colorscheme 'doom-gruvbox))
+        (dotted/new "Solarized Light"
+                    (make-theme
+                     :font themes/preferred-font
+                     :wallpaper "solarized_light_thinkpad.jpg"
+                     :colorscheme 'doom-solarized-light))
+        (dotted/new "Fantasy Tree"
+                    (make-theme
+                     :font themes/preferred-font
+                     :wallpaper "fantasy_tree_4k.jpg"
+                     :colorscheme 'doom-outrun-electric)))
   "Predefined themes to suit my whims.")
 
 ;; TODO: Choose between plural and singular names for Elisp modules.  For