From 1ce4f7e97443976f5f82469bf4980f64c45a9983 Mon Sep 17 00:00:00 2001 From: Case Duckworth Date: Sat, 6 Jul 2024 21:45:54 -0500 Subject: Add bob-theme.el --- emacs.d/bob-theme.el | 171 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 171 insertions(+) create mode 100644 emacs.d/bob-theme.el (limited to 'emacs.d') diff --git a/emacs.d/bob-theme.el b/emacs.d/bob-theme.el new file mode 100644 index 0000000..63c84db --- /dev/null +++ b/emacs.d/bob-theme.el @@ -0,0 +1,171 @@ +;;; bob-theme -*- lexical-binding: t; -*- +;; a little windows-y theme by acdw +;; (and named by, idk, Bill Gates? who can say truly) + +(deftheme bob + "A little windows-y theme by acdw" + :background-mode 'light) + +;; (custom-theme-set-variables 'bob) + +(defvar fclear + '((t ())) + "Specification to clear a given face.") + +(defface bob-prompt '((t (:weight bold))) + "A face for prompts.") + +(defface bob-input-field '((t ( :background "white" + :box (:line-width (1 . -1))))) + "A face for input fields.") + +(custom-theme-set-faces + 'bob + ;; Default + '(default ((t ( :foreground "black" + :background "#c0c0c0")))) + + ;; Font lock -- clear + `(font-lock-bracket-face ,fclear) + `(font-lock-builtin-face ,fclear) + ;; `(font-lock-comment-delimiter-face ,fclear) + ;; `(font-lock-comment-face ,fclear) + `(font-lock-constant-face ,fclear) + `(font-lock-delimiter-face ,fclear) + ;; `(font-lock-doc-face ,fclear) + `(font-lock-doc-markup-face ,fclear) + `(font-lock-escape-face ,fclear) + `(font-lock-function-call-face ,fclear) + `(font-lock-function-name-face ,fclear) + ;; `(font-lock-keyword-face ,fclear) + `(font-lock-misc-punctuation-face ,fclear) + `(font-lock-negation-char-face ,fclear) + `(font-lock-number-face ,fclear) + `(font-lock-operator-face ,fclear) + `(font-lock-preprocessor-face ,fclear) + `(font-lock-property-name-face ,fclear) + `(font-lock-property-use-face ,fclear) + `(font-lock-punctuation-face ,fclear) + `(font-lock-regexp-face ,fclear) + `(font-lock-regexp-grouping-backslash ,fclear) + `(font-lock-regexp-grouping-construct ,fclear) + `(font-lock-string-face ,fclear) + `(font-lock-type-face ,fclear) + `(font-lock-variable-name-face ,fclear) + `(font-lock-variable-use-face ,fclear) + `(font-lock-warning-face ,fclear) + + ;; Font lock + '(font-lock-comment-delimiter-face ((t (:slant italic)))) + '(font-lock-comment-face ((t (:slant italic)))) + '(font-lock-doc-face ((t (:slant italic)))) + '(font-lock-keyword-face ((t (:weight bold)))) + + ;; Propertized text + '(bold ((t (:weight bold)))) + '(error ((t (:foreground "red" :slant italic)))) + '(highlight ((t (:background "yellow")))) + '(isearch ((t (:background "yellow")))) + '(isearch-fail ((t (:inherit error)))) + '(italic ((t (:slant italic)))) + '(lazy-highlight ((t (:background "#808080")))) + '(link ((t (:foreground "000080" :underline t)))) + '(match ((t (:background "yellow")))) + '(pulse-highlight-start-face ((t (:background "#000080")))) + '(query-replace ((t (:background "yellow")))) + '(region ((t (:background "#808080")))) + '(shadow ((t (:foreground "#808080")))) + '(show-paren-match ((t (:background "yellow")))) + '(show-paren-mismatch ((t (:foreground "red" :slant italic)))) + '(success ((t (:foreground "#808080" :slant italic)))) + '(trailing-whitespace ((t (:background "red")))) + '(underline ((t (:underline t)))) + '(warning ((t (:foreground "yellow" :slant italic)))) + + ;; User interface + '(completions-annotations ((t (:inherit 'italic)))) + '(completions-highlight ((t (:background "yellow")))) + '(fringe ((t ()))) + '(header-line ((t ( :foreground "white" :background "#808080" + :inherit variable-pitch)))) + '(minibuffer-prompt ((t (:inherit bob-prompt)))) + '(mode-line ((t (:background "#808080" :inherit variable-pitch)))) + '(mode-line-active ((t ( :foreground "white" :background "#000080" + :inherit mode-line)))) + '(mode-line-inactive ((t ( :box "#808080" :background "#808080" + :inherit mode-line)))) + '(tab-bar ((t ( :background "#008080" :foreground "white")))) + '(tab-bar-tab ((t (:weight bold :underline t)))) + '(tab-bar-tab-inactive ((t ()))) + '(vertical-border ((t (:foreground "gray")))) + + ;;; Specific modes &c + ;; Dired + '(dired-header ((t (:underline t :extend t)))) + ;; Elastic indent + '(elastic-indent ((t ()))) + ;; Eshell + '(eshell-prompt ((t (:inherit bob-prompt)))) + ;; Eww + '(eww-form-text ((t (:inherit bob-input-field)))) + ;; Gemtext mode + '(gemtext-face-heading1 ((t ( :weight bold + :inherit variable-pitch)))) + '(gemtext-face-heading2 ((t ( :weight bold + :inherit variable-pitch)))) + '(gemtext-face-heading3 ((t ( :weight bold + :inherit variable-pitch)))) + ;; Info + '(info-title-1 ((t (:inherit variable-pitch)))) + '(info-title-2 ((t (:inherit variable-pitch)))) + '(info-title-3 ((t (:inherit variable-pitch)))) + '(info-title-4 ((t (:inherit variable-pitch)))) + ;; Jabber + '(jabber-activity-face ((t (:inherit italic)))) + '(jabber-activity-personal-face ((t (:inherit rcirc-track-nick)))) + '(jabber-chat-error ((t (:inherit error)))) + '(jabber-chat-prompt-foreign ((t (:inherit bob-prompt)))) + '(jabber-chat-prompt-local ((t (:inherit bob-prompt)))) + '(jabber-chat-prompt-system ((t (:inherit bob-prompt)))) + '(jabber-chat-text-foreign ((t (:inherit default)))) + '(jabber-chat-text-local ((t (:inherit default)))) + '(jabber-muc-presence-dim ((t (:inherit shadow)))) + '(jabber-rare-time-face ((t (:inherit shadow)))) + '(jabber-title-large ((t (:inherit (variable-pitch outline-1))))) + '(jabber-title-medium ((t (:inherit (variable-pitch outline-2))))) + '(jabber-title-small ((t (:inherit (variable-pitch outline-3))))) + ;; Outline + '(outline-1 ((t (:inherit (bold underline italic) :extend t)))) + '(outline-2 ((t (:inherit (bold underline))))) + '(outline-3 ((t (:inherit (italic underline))))) + '(outline-3 ((t (:inherit (italic underline))))) + '(outline-4 ((t (:inherit (italic underline))))) + '(outline-5 ((t (:inherit (italic underline))))) + '(outline-6 ((t (:inherit (italic underline))))) + '(outline-7 ((t (:inherit (italic underline))))) + '(outline-8 ((t (:inherit (italic underline))))) + ;; Org + '(org-document-info-keyword ((t (:inherit default)))) + '(org-document-info ((t (:foreground "000080")))) + '(org-document-title ((t (:inherit org-document-info)))) + '(org-drawer ((t (:inherit font-lock-comment-face)))) + ;; RCIRC + '(rcirc-my-nick ((t (:weight bold :slant italic)))) + '(rcirc-nick-in-message ((t (:weight bold :slant italic)))) + '(rcirc-other-nick ((t (:slant italic)))) + '(rcirc-prompt ((t (:inherit bob-prompt)))) + '(rcirc-timestamp ((t (:inherit shadow)))) + '(rcirc-server ((t (:inherit shadow)))) + '(rcirc-track-nick ((t (:weight bold :slant italic :inverse-video nil)))) + ;; Sh + '(sh-heredoc ((t ( :foreground "000080" :extend t + :inherit font-lock-string-face)))) + '(sh-quoted-exec ((t ()))) + ;; Widgets + '(widget-field ((t (:inherit bob-input-field)))) + '(widget-single-line-field ((t (:inherit bob-input-field)))) + ;; Whitespace-mode + '(whitespace-tab ((t (:foreground "#808080")))) + ) + +(provide-theme 'bob) -- cgit 1.4.1-21-gabe81