From: rearman Date: Wed, 22 Apr 2026 16:06:28 +0000 (-0400) Subject: Define and use the eng-paper theme X-Git-Url: https://git.earman.xyz/?a=commitdiff_plain;h=e490d6bcc2462c97a93c15c1f3ea0ed05ee546b4;p=emacsinit.git Define and use the eng-paper theme A theme loosely based on Birren and DuPont's color conditioning scheme for factories and offices. --- diff --git a/init.el b/init.el index de1b3c3..ac52c31 100644 --- a/init.el +++ b/init.el @@ -167,8 +167,9 @@ ;; GUI Settings (require 'acme-theme) -(load-theme 'acme t) - +(require 'eng-paper-theme) +;; (load-theme 'acme t) +(load-theme 'eng-paper t) (menu-bar-mode -1) (tool-bar-mode -1) (set-scroll-bar-mode 'left) diff --git a/re/eng-paper-theme.el b/re/eng-paper-theme.el new file mode 100644 index 0000000..6047b0f --- /dev/null +++ b/re/eng-paper-theme.el @@ -0,0 +1,181 @@ +;;; eng-paper-theme.el --- -*- lexical-binding: t; -*- + +;;; Code: + +(deftheme eng-paper + "Color theme to look like engineering paper, + with elements from Birren/DuPont's Color conditioning system") + +(let ((class '((class color) (min-colors 89))) + (text "#000000") + (light-green "#b5dabf") + (light-gray "#c0cfd1") + (precaution-blue "#315e9a") + (hi-vis-yellow "#eec801") + (alert-orange "#e85400") + (fire-prot-red "#e41b00") + (safety-green "#00883a") + (traffic-white "#f0f0f0")) + (custom-theme-set-faces + 'eng-paper +;;;; Special faces. + `(default + ((,class (:foreground ,text :background ,light-green)))) + `(error + ((,class (:foreground ,fire-prot-red)))) + `(warning + ((,class (:inherit default :weight bold)))) + `(success + ((,class (:inherit default :weight bold)))) +;;;; font-lock. + `(font-lock-comment-face + ((,class (:slant italic :weight light :foreground ,safety-green)))) + `(font-lock-string-face + ((,class (:inherit default)))) + `(font-lock-builtin-face + ((,class (:inherit default)))) + `(font-lock-type-face + ((,class (:inherit default)))) + `(font-lock-constant-face + ((,class (:inherit default)))) + `(font-lock-function-name-face + ((,class (:inherit default)))) + `(font-lock-variable-name-face + ((,class (:inherit default)))) + `(font-lock-keyword-face + ((,class (:inherit default)))) + `(font-lock-number-face + ((,class (:inherit default)))) +;;;; Decorations. + `(vertical-border + ((,class (:background ,text)))) + `(scroll-bar + ((,class (:background ,light-gray)))) + `(region + ((,class (:background ,hi-vis-yellow :extend t)))) + `(shadow + ((,class (:foreground ,text :weight light)))) + `(match + ((,class (:background ,hi-vis-yellow)))) + `(highlight + ((,class (:background ,hi-vis-yellow)))) + `(link + ((,class (:foreground ,precaution-blue :underline t)))) + `(secondary-selection + ((,class (:background ,alert-orange :extend t)))) + `(lazy-highlight + ((,class (:background ,alert-orange)))) + `(isearch + ((,class (:foreground ,text :background ,hi-vis-yellow)))) + `(fringe + ((,class (:inherit default)))) + `(line-number + ((,class (:inherit default)))) + `(line-number-current-line + ((,class (:foreground ,text :background ,alert-orange :weight bold)))) + `(mode-line + ((,class (:inherit default :box (:color ,traffic-white :line-width (2 . 2)))))) + `(mode-line-inactive + ((,class (:inherit mode-line)))) + `(mode-line-highlight + ((,class (:inherit mode-line :background ,alert-orange)))) + `(header-line + ((,class (:inherit mode-line)))) +;;; Org + `(org-document-title + ((,class (:foreground ,text :weight bold)))) + `(org-level-1 + ((,class (:inherit default)))) + `(org-level-2 + ((,class (:inherit default)))) + `(org-level-3 + ((,class (:inherit default)))) + `(org-level-4 + ((,class (:inherit default)))) + `(org-level-5 + ((,class (:inherit default)))) + `(org-level-6 + ((,class (:inherit default)))) + `(org-level-7 + ((,class (:inherit default)))) + `(org-level-8 + ((,class (:inherit default)))) + `(org-todo + ((,class (:foreground ,fire-prot-red :bold t)))) + `(org-headline-todo + ((,class (:foreground ,fire-prot-red)))) + `(org-done + ((,class (:foreground ,safety-green :italic t)))) + `(org-headline-done + ((,class (:foreground ,safety-green)))) + + `(org-ellipsis + ((,class (:inherit default)))) + `(org-table + ((,class (:inherit default)))) + `(org-formula + ((,class (:inherit default)))) + `(org-drawer + ((,class (:inherit default)))) + `(org-footnote + ((,class (:inherit default)))) + `(org-date + ((,class (:inherit default)))) +;;; Org Agenda + `(header-line + ((,class (:inherit default)))) + `(org-agenda-structure + ((,class (:inherit default)))) + `(org-column + ((,class (:inherit default)))) + `(org-agenda-done + ((,class (:foreground ,text :italic t)))) + `(org-time-grid + ((,class (:inherit default)))) + `(org-agenda-date-weekend + ((,class (:inherit org-agenda-date :weight bold)))) + `(org-agenda-date-today + ((,class (:inherit org-agenda-date :weight bold :slant italic)))) + `(org-upcoming-deadline + ((,class (:inherit default)))) + `(org-scheduled + ((,class (:inherit default)))) + `(org-scheduled-today + ((,class (:inherit default)))) + `(org-scheduled-previously + ((,class (:inherit default)))) +;;; HOWM + `(howm-reminder-deadline-face + ((,class (:foreground ,fire-prot-red)))) + `(howm-reminder-todo-face + ((,class (:foreground ,alert-orange)))) + `(howm-reminder-late-deadline-face + ((,class (:foreground ,text :background ,fire-prot-red)))) + `(howm-reminder-schedule-face + ((,class (:foreground ,safety-green)))) + `(howm-reminder-normal-face + ((,class (:foreground ,precaution-blue)))) + `(howm-reminder-done-face + ((,class (:inherit default)))) + `(howm-reminder-today-face + ((,class (:foreground ,text :background ,alert-orange)))) + `(howm-mode-title-face + ((,class (:foreground ,precaution-blue)))) + `(howm-mode-ref-face + ((,class (:foreground ,precaution-blue)))) + `(howm-mode-keyword-face + ((,class (:foreground ,traffic-white :background ,precaution-blue)))) +;;; Misc. other packages + `(corfu-default + ((,class (:inherit default)))) + `(corfu-current + ((,class (:foreground ,text :background ,hi-vis-yellow :extend t)))))) + +;;;###autoload +(when load-file-name + (add-to-list 'custom-theme-load-path + (file-name-as-directory (file-name-directory load-file-name)))) + +(provide-theme 'eng-paper) +(provide 'eng-paper-theme) +;;; eng-paper-theme.el ends here diff --git a/re/re-org.el b/re/re-org.el index 949c064..acb45a4 100644 --- a/re/re-org.el +++ b/re/re-org.el @@ -35,9 +35,9 @@ (add-hook 'org-agenda-mode-hook #'hl-line-mode) -(setq org-todo-keyword-faces '(("WAITING" :foreground "orange" :weight bold) +(setq org-todo-keyword-faces '(("WAITING" :foreground "#e15400" :weight bold) ("UNDERTAKEN" :foreground "magenta" :weight bold) - ("MEETING" :foreground "blue" :weight bold))) + ("MEETING" :foreground "#315e9a" :weight bold))) ;; Time Clocking (org-clock-persistence-insinuate) @@ -114,7 +114,7 @@ (setq org-agenda-custom-commands '(("d" "Done items" todo "DONE|BELAYED|GIVEN|MET" ((org-agenda-skip-function '(org-agenda-skip-entry-if 'notregexp "^\\*\\* ")) - (org-agenda-overriding-header "DONE - MAYBE ARCHIVE:"))) + (org-agenda-overriding-header "DONE - MAYBE KEEP:"))) ("f" "Maybe Someday" tags "someday" ((org-agenda-skip-function '(org-agenda-skip-entry-if 'regexp "^\\* someday")) (org-agenda-overriding-header "SOMEDAY:"))) @@ -185,10 +185,10 @@ (advice-add 'org-refile :after (lambda (&rest _) (re/org-save-all))) ;; Archiving (use re/org-archive-all periodically) -(setq org-archive-location (concat "~/org/old.org_archive::datetree/") +(setq org-archive-location (concat "~/org/old.org_keep::datetree/") org-agenda-text-search-extra-files '(agenda-archives)) -(add-to-list 'auto-mode-alist '("\\.org_archive\\'" . org-mode)) +(add-to-list 'auto-mode-alist '("\\.org_keep\\'" . org-mode)) (provide 're-org) ;;; re-org.el ends here