diff options
Diffstat (limited to 'scripts/theme-studio/face_data.py')
| -rw-r--r-- | scripts/theme-studio/face_data.py | 81 |
1 files changed, 80 insertions, 1 deletions
diff --git a/scripts/theme-studio/face_data.py b/scripts/theme-studio/face_data.py index d5999f816..d94f23068 100644 --- a/scripts/theme-studio/face_data.py +++ b/scripts/theme-studio/face_data.py @@ -143,6 +143,43 @@ GHOSTEL_SEED={ "ghostel-color-blue":{"fg":"blue"},"ghostel-color-magenta":{"fg":"regal"},"ghostel-color-cyan":{"fg":"sage"},"ghostel-color-white":{"fg":"silver"}, "ghostel-color-bright-black":{"fg":"steel"},"ghostel-color-bright-red":{"fg":"#de4949"},"ghostel-color-bright-green":{"fg":"#84b068"},"ghostel-color-bright-yellow":{"fg":"#eed376"}, "ghostel-color-bright-blue":{"fg":"#7a9abe"},"ghostel-color-bright-magenta":{"fg":"#b07fd0"},"ghostel-color-bright-cyan":{"fg":"#7fc0a8"},"ghostel-color-bright-white":{"fg":"white"}} +# ansi-color (built-in, not in the inventory): the 16 ANSI palette faces that every +# ANSI consumer resolves -- vterm, eshell, compilation, and ghostel (whose +# ghostel-color-* faces :inherit these). Theming ansi-color-* drives the 16 +# colors everywhere at once. Seed mirrors the ghostel palette so the two agree. +# Note: a face left unset here inherits nothing extra; a consumer that sets its +# own color directly (e.g. a seeded ghostel-color-red) overrides this inheritance. +ANSI_COLOR_FACES=("ansi-color-black ansi-color-red ansi-color-green ansi-color-yellow " + "ansi-color-blue ansi-color-magenta ansi-color-cyan ansi-color-white " + "ansi-color-bright-black ansi-color-bright-red ansi-color-bright-green ansi-color-bright-yellow " + "ansi-color-bright-blue ansi-color-bright-magenta ansi-color-bright-cyan ansi-color-bright-white").split() +ANSI_COLOR_SEED={ + "ansi-color-black":{"fg":"pewter"},"ansi-color-red":{"fg":"terracotta"},"ansi-color-green":{"fg":"emerald"},"ansi-color-yellow":{"fg":"gold"}, + "ansi-color-blue":{"fg":"blue"},"ansi-color-magenta":{"fg":"regal"},"ansi-color-cyan":{"fg":"sage"},"ansi-color-white":{"fg":"silver"}, + "ansi-color-bright-black":{"fg":"steel"},"ansi-color-bright-red":{"fg":"#de4949"},"ansi-color-bright-green":{"fg":"#84b068"},"ansi-color-bright-yellow":{"fg":"#eed376"}, + "ansi-color-bright-blue":{"fg":"#7a9abe"},"ansi-color-bright-magenta":{"fg":"#b07fd0"},"ansi-color-bright-cyan":{"fg":"#7fc0a8"},"ansi-color-bright-white":{"fg":"white"}} +# auto-dim-other-buffers: non-selected windows recede to a faded fg on a near-black +# bg. The -hide face keeps org hidden text invisible in a dimmed window (fg=bg). +AUTODIM_FACES=("auto-dim-other-buffers auto-dim-other-buffers-hide").split() +AUTODIM_SEED={ + "auto-dim-other-buffers":{"fg":"#5e6770","bg":"#000000"}, + "auto-dim-other-buffers-hide":{"fg":"#000000","bg":"#000000"}} +# org-faces-config.el: custom, clearly-not-builtin faces for the agenda header +# row -- one face per TODO keyword and per priority cookie, plus a -dim variant +# auto-dim remaps to in non-selected windows. Seed mirrors the module defaults. +ORGFACES_FACES=("org-faces-todo org-faces-project org-faces-doing org-faces-waiting org-faces-verify " + "org-faces-stalled org-faces-delegated org-faces-failed org-faces-done org-faces-cancelled " + "org-faces-priority-a org-faces-priority-b org-faces-priority-c org-faces-priority-d " + "org-faces-todo-dim org-faces-project-dim org-faces-doing-dim org-faces-waiting-dim org-faces-verify-dim " + "org-faces-stalled-dim org-faces-delegated-dim org-faces-failed-dim org-faces-done-dim org-faces-cancelled-dim " + "org-faces-priority-a-dim org-faces-priority-b-dim org-faces-priority-c-dim org-faces-priority-d-dim").split() +ORGFACES_SEED={ + "org-faces-todo":{"fg":"#8fbf73","bold":True},"org-faces-project":{"fg":"#7a9abe","bold":True},"org-faces-doing":{"fg":"#e8c668","bold":True},"org-faces-waiting":{"fg":"#c9b08a","bold":True},"org-faces-verify":{"fg":"#d98a5a","bold":True}, + "org-faces-stalled":{"fg":"#9a8fb0","bold":True},"org-faces-delegated":{"fg":"#7fc0a8","bold":True},"org-faces-failed":{"fg":"#d05a5a","bold":True},"org-faces-done":{"fg":"#6f7a82","bold":True},"org-faces-cancelled":{"fg":"#6f7a82","bold":True,"strike":True}, + "org-faces-priority-a":{"fg":"#7aa0d0","bold":True},"org-faces-priority-b":{"fg":"#e8c668"},"org-faces-priority-c":{"fg":"#8fbf73"},"org-faces-priority-d":{"fg":"#8a8a8a"}, + "org-faces-todo-dim":{"fg":"#5f7a4d","bold":True},"org-faces-project-dim":{"fg":"#4f6680","bold":True},"org-faces-doing-dim":{"fg":"#9a8544","bold":True},"org-faces-waiting-dim":{"fg":"#87745c","bold":True},"org-faces-verify-dim":{"fg":"#8f5a3c","bold":True}, + "org-faces-stalled-dim":{"fg":"#665e75","bold":True},"org-faces-delegated-dim":{"fg":"#547d6c","bold":True},"org-faces-failed-dim":{"fg":"#8a3c3c","bold":True},"org-faces-done-dim":{"fg":"#4a5158","bold":True},"org-faces-cancelled-dim":{"fg":"#4a5158","bold":True,"strike":True}, + "org-faces-priority-a-dim":{"fg":"#4f6a8a","bold":True},"org-faces-priority-b-dim":{"fg":"#9a8544"},"org-faces-priority-c-dim":{"fg":"#5f7a4d"},"org-faces-priority-d-dim":{"fg":"#5a5a5a"}} DASHBOARD_FACES=("dashboard-banner-logo-title dashboard-text-banner dashboard-heading " "dashboard-items-face dashboard-navigator dashboard-no-items-face dashboard-footer-face dashboard-footer-icon-face").split() DASHBOARD_SEED={ @@ -155,7 +192,6 @@ MU4E_FACES=("mu4e-title-face mu4e-context-face mu4e-modeline-face mu4e-ok-face m "mu4e-header-title-face mu4e-header-key-face mu4e-header-value-face mu4e-header-face mu4e-header-highlight-face mu4e-header-marks-face " "mu4e-unread-face mu4e-flagged-face mu4e-replied-face mu4e-forwarded-face mu4e-draft-face mu4e-trashed-face mu4e-related-face " "mu4e-contact-face mu4e-special-header-value-face mu4e-url-number-face mu4e-link-face " - "" "mu4e-footer-face mu4e-region-code mu4e-system-face mu4e-highlight-face mu4e-compose-separator-face").split() MU4E_SEED={ "mu4e-title-face":{"fg":"blue","bold":True},"mu4e-context-face":{"fg":"blue","bold":True},"mu4e-modeline-face":{"fg":"silver"},"mu4e-ok-face":{"fg":"sage","bold":True},"mu4e-warning-face":{"fg":"gold","bold":True}, @@ -295,3 +331,46 @@ SHR_FACES=("shr-h1 shr-h2 shr-h3 shr-h4 shr-h5 shr-h6 shr-text shr-link shr-sele SHR_SEED={ "shr-h1":{"fg":"gold","bold":True,"height":1.4},"shr-h2":{"fg":"blue","bold":True,"height":1.2},"shr-h3":{"fg":"blue","bold":True},"shr-h4":{"fg":"silver","bold":True},"shr-h5":{"fg":"steel","bold":True},"shr-h6":{"fg":"pewter","bold":True}, "shr-text":{"fg":"#cdced1"},"shr-link":{"fg":"blue","underline":True},"shr-selected-link":{"fg":"gold","bold":True,"underline":True},"shr-code":{"fg":"terracotta","bg":"bg-dim"},"shr-mark":{"fg":"#000000","bg":"gold"},"shr-strike-through":{"fg":"pewter","strike":True},"shr-sup":{"fg":"steel","height":0.8},"shr-abbreviation":{"fg":"steel","italic":True,"underline":True}} +# gnus drives the mu4e article (message) view: headers, quote levels, signature, +# buttons, and inline emphasis. gnus's own defaults are bright greens on a dark +# background, so these seeds restate the set in the theme palette. +GNUS_FACES=("gnus-header-name gnus-header-from gnus-header-subject gnus-header-content gnus-header-newsgroups " + "gnus-cite-1 gnus-cite-2 gnus-cite-3 gnus-cite-4 gnus-cite-5 gnus-cite-6 gnus-cite-7 gnus-cite-8 gnus-cite-9 gnus-cite-10 gnus-cite-11 gnus-cite-attribution " + "gnus-signature gnus-button " + "gnus-emphasis-bold gnus-emphasis-italic gnus-emphasis-underline gnus-emphasis-strikethru gnus-emphasis-highlight-words").split() +GNUS_SEED={ + "gnus-header-name":{"fg":"blue","bold":True},"gnus-header-from":{"fg":"gold"},"gnus-header-subject":{"fg":"white","bold":True},"gnus-header-content":{"fg":"silver"},"gnus-header-newsgroups":{"fg":"silver"}, + "gnus-cite-1":{"fg":"sage"},"gnus-cite-2":{"fg":"steel"},"gnus-cite-3":{"fg":"gold"},"gnus-cite-4":{"fg":"blue"},"gnus-cite-5":{"fg":"sage"},"gnus-cite-6":{"fg":"steel"},"gnus-cite-7":{"fg":"gold"},"gnus-cite-8":{"fg":"blue"},"gnus-cite-9":{"fg":"sage"},"gnus-cite-10":{"fg":"steel"},"gnus-cite-11":{"fg":"gold"},"gnus-cite-attribution":{"fg":"silver","italic":True}, + "gnus-signature":{"fg":"pewter","italic":True},"gnus-button":{"fg":"blue","underline":True}, + "gnus-emphasis-bold":{"bold":True},"gnus-emphasis-italic":{"italic":True},"gnus-emphasis-underline":{"underline":True},"gnus-emphasis-strikethru":{"fg":"pewter","strike":True},"gnus-emphasis-highlight-words":{"fg":"gold","bold":True}} + +# The bespoke package apps, single-sourced here. Each row is +# (key, label, preview, FACES, prefix, SEED); add an app by adding one row. +# generate.py builds APPS from this, and app_inventory derives the set of +# bespoke keys (to exclude them from the generic-inventory path) from it too. +BESPOKE_APP_SPECS=[ + ("org-mode","org-mode","org",ORG_FACES,"org-",ORG_SEED), + ("magit","magit","magit",MAGIT_FACES,"magit-",MAGIT_SEED), + ("elfeed","elfeed","elfeed",ELFEED_FACES,"elfeed-",ELFEED_SEED), + ("mu4e","mu4e","mu4e",MU4E_FACES,"mu4e-",MU4E_SEED), + ("gnus","gnus (mu4e article view)","gnus",GNUS_FACES,"gnus-",GNUS_SEED), + ("org-faces","org-faces","orgfaces",ORGFACES_FACES,"org-faces-",ORGFACES_SEED), + ("ghostel","ghostel","ghostel",GHOSTEL_FACES,"ghostel-",GHOSTEL_SEED), + ("ansi-color","ansi-color (vterm/eshell/compilation/ghostel)","ansicolor",ANSI_COLOR_FACES,"ansi-color-",ANSI_COLOR_SEED), + ("auto-dim-other-buffers","auto-dim","autodim",AUTODIM_FACES,"auto-dim-other-buffers-",AUTODIM_SEED), + ("dashboard","dashboard","dashboard",DASHBOARD_FACES,"dashboard-",DASHBOARD_SEED), + ("lsp-mode","lsp-mode","lsp",LSP_FACES,"lsp-",LSP_SEED), + ("git-gutter","git-gutter","gitgutter",GITGUTTER_FACES,"git-gutter:",GITGUTTER_SEED), + ("flycheck","flycheck","flycheck",FLYCHECK_FACES,"flycheck-",FLYCHECK_SEED), + ("dired","dired","dired",DIRED_FACES,"dired-",DIRED_SEED), + ("dirvish","dirvish","dirvish",DIRVISH_FACES,"dirvish-",DIRVISH_SEED), + ("calibredb","calibredb","calibredb",CALIBREDB_FACES,"calibredb-",CALIBREDB_SEED), + ("erc","erc","erc",ERC_FACES,"erc-",ERC_SEED), + ("org-drill","org-drill","orgdrill",ORGDRILL_FACES,"org-drill-",ORGDRILL_SEED), + ("org-noter","org-noter","orgnoter",ORGNOTER_FACES,"org-noter-",ORGNOTER_SEED), + ("signel","signel","signel",SIGNEL_FACES,"signel-",SIGNEL_SEED), + ("pearl","pearl","pearl",PEARL_FACES,"pearl-",PEARL_SEED), + ("slack","slack","slack",SLACK_FACES,"slack-",SLACK_SEED), + ("telega","telega","telega",TELEGA_FACES,"telega-",TELEGA_SEED), + ("shr","shr (HTML: nov/eww/mail)","shr",SHR_FACES,"shr-",SHR_SEED), +] |
