summary refs log tree commit diff
diff options
context:
space:
mode:
authornoa2024-11-09 10:07:19 +0800
committernoa2024-11-09 10:07:19 +0800
commitd79d5bd8055ab6ceb597899215f98d4483657c57 (patch)
tree4e2501fc865acb79298abd3ec63510da0590fb92
Initial commit
-rw-r--r--tubthumping-theme.el310
1 files changed, 310 insertions, 0 deletions
diff --git a/tubthumping-theme.el b/tubthumping-theme.el
new file mode 100644
index 0000000..bec53b0
--- /dev/null
+++ b/tubthumping-theme.el
@@ -0,0 +1,310 @@
+;;; tubthumping-theme.el --- Monochrome theme  -*- lexical-binding: t; -*-
+
+;; By noa, <noa@gaiwan.org>
+;;
+;; Version: 1.0.2
+;; Author: noa, <noa@gaiwan.org>
+;; URL: https://noa.pub/404
+
+;; This file is not part of Emacs.
+
+;;; Commentary:
+
+;; This is a monochrome theme for emacs.  I've only themed packages i've used as i've come across colours in them.
+
+;; The name is an homage to the classic song, as well as to the monochrome emacs tao theme.
+
+;;; Code:
+
+(deftheme tubthumping)
+
+(defgroup tubthumping-theme nil
+  "Customization options for the tubthumping theme family."
+  :group 'tubthumping
+  :group 'faces)
+
+(defcustom tubthumping-bg "#ffffff"
+  "The background colour for the tubthumping theme."
+  :type 'color
+  :group 'tubthumping-theme)
+
+(defcustom tubthumping-fg "#000000"
+  "The foreground colour for the tubthumping theme."
+  :type 'color
+  :group 'tubthumping-theme)
+
+(defcustom tubthumping-hl "#cdcdcd"
+  "The alternative background colour for highlighted elements in the tubthumping theme."
+  :type 'color
+  :group 'tubthumping-theme)
+
+(custom-theme-set-faces
+ 'tubthumping
+ `(default	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(fringe	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(region	((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+ `(cursor	((t (:background ,tubthumping-foreground-colour))))
+ `(highlight ((t (:background "#ff0000" :foreground ,tubthumping-fg))))
+
+ ;; default font lock.  make comments and strings italic and everything else look the same
+ `(font-lock-bracket-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-builtin-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-comment-delimiter-face	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(font-lock-comment-face	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(font-lock-constant-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-delimiter-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-doc-face	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(font-lock-doc-markup-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-escape-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-function-call-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-function-name-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-keyword-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-misc-punctuation-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-negation-char-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-number-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-operator-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-preprocessor-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-property-name-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-property-use-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-punctuation-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-regexp-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-regexp-grouping-backslash	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-regexp-grouping-construct	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-string-face	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(font-lock-type-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-variable-name-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-variable-use-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(font-lock-warning-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ `(show-paren-match ((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+ `(show-paren-mismatch ((t (:background ,tubthumping-fg :foreground ,tubthumping-bg))))
+
+
+ `(isearch ((t (:background ,tubthumping-fg :foreground ,tubthumping-bg))))
+ `(lazy-highlight ((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+
+ ;; replace
+ `(match ((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+
+ ;; faces
+ `(shadow	((t (:strikethrough t))))
+
+ ;; minibuffer
+ `(minibuffer-prompt ((t (:weight bold :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(minibuffer-depth-indicator ((t (:weight bold :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; link
+ `(link	((t (:underline t))))
+
+ ;; `(header-line	((t (:underline (:position t)))))
+ ;; `(header-line	((t (:box (:line-width (0 . 1))))))
+
+ ;; MODES
+
+ ;; calendar
+ ;; `(holiday	((t (:box t))))
+ `(holiday	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(calendar-today	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; compile
+ `(compilation-line-number	((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(compilation-column-number	((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(compilation-info	((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; completions
+ `(completions-common-part	((t ( :weight bold))))
+ `(completions-annotations	((t ( :slant italic))))
+
+ ;; consult
+ `(consult-line-number-prefix ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ 
+ ;; custom
+ `(custom-group-tag	((t (:weight bold :height 1.2))))
+ `(custom-variable-tag	((t (:weight bold))))
+ `(custom-state	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(custom-visibility	((t (:underline t))))
+ `(custom-button	((t (:inherit link))))
+ `(custom-button	((t (:box t))))
+
+ ;; diary
+ `(diary	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; dired
+ `(dired-flagged	((t (:strikethrough t))))
+ `(dired-mark	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(dired-marked	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(dired-header	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-set-id	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-ignored	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-special	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-symlink	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-warning	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-directory	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-perm-write	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dired-broken-symlink	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; elastic indent
+ `(elastic-indent	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; embark
+ `(embark-keybinding	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; eshell
+ `(eshell-prompt	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-backup	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-archive	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-clutter	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-missing	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-product	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-special	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-symlink	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-readonly	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-directory	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-executable	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eshell-ls-unreadable	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; eww
+ `(eww-valid-certificate	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(eww-invalid-certificate	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(eww-form-submit	((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(eww-form-text	((t (:box t))))
+
+ ;; dictionary
+ `(dictionary-reference-face ((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(dictionary-word-definition-face ((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; gnus
+ `(gnus-header-name	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(gnus-header-content	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(gnus-header-from	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(gnus-header-subject	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; howm
+ `(howm-mode-keyword-face ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(howm-mode-title-face ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(howm-reminder-schedule-face ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(howm-view-empty-face ((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(howm-view-hilit-face ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(howm-view-name-face ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; deft
+ `(deft-summary-face ((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; help
+ `(help-argument-name	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(help-key-binding	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; info
+ `(info-header-node	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(info-menu-star	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(info-node	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(Info-quoted	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(info-xref-visited	((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ 
+ ;; jabber
+ `(jabber-activity-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(jabber-activity-personal-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(jabber-chat-prompt-local	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(jabber-chat-prompt-foreign	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(jabber-chat-prompt-system	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(jabber-rare-time-face	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(jabber-roster-user-online	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(jabber-roster-user-away	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; line number
+ `(line-number	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; marginalia
+ `(marginalia-archive	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-char	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-date	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-documentation	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-name	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-owner	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-dir	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-exec	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-link	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-no	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-other	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-rare	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-read	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-file-priv-write	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-function	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-installed	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-key	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-lighter	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-list	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-mode	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-modified	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-null	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-number	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-off	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-on	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-size	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-string	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-symbol	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-true	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-type	((t (:foreground ,tubthumping-fg))))
+ `(marginalia-version	((t (:foreground ,tubthumping-fg))))
+
+ ;; message
+ `(message-cited-text-1	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-cited-text-2	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-cited-text-3	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-cited-text-4	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-header-name	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-header-to	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-header-cc	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-header-other	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-header-subject	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-header-xheader	((t (:underline t :background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(message-separator	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; orderless
+ `(orderless-match-face-0	((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+ `(orderless-match-face-1	((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+ `(orderless-match-face-2	((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+ `(orderless-match-face-3	((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+
+ ;; markdown
+ `(markdown-markup-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; rmail
+ `(rmail-highlight      ((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; tab bar
+ ;; `(tab-bar	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ ;; `(tab-bar	((t (:underline (:position t)))))
+
+ ;; variable pitch
+ `(variable-pitch	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(variable-pitch-text	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; vertico
+ `(vertico-current ((t (:background ,tubthumping-hl :foreground ,tubthumping-fg))))
+ `(vertico-group-title ((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+
+ ;; widgets
+ `(widget-field	((t ( :box t))))
+ `(widget-inactive	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; window divider
+ ;; `(window-divider	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+
+ ;; `(ffap	((t (:foreground ,tubthumping-foreground-colour))))
+
+ `(warning	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(ac-completion-face	((t (:underline t ))))
+ `(info-quoted-name	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(info-string	((t (:weight bold :foreground ,tubthumping-fg :background ,tubthumping-bg))))
+ `(icompletep-determined	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(slime-repl-inputed-output-face	((t (:background ,tubthumping-bg :foreground ,tubthumping-fg))))
+ `(trailing-whitespace	((t (:inherit highlight)))))
+
+;;;###autoload
+(when load-file-name
+  (add-to-list 'custom-theme-load-path
+               (file-name-as-directory (file-name-directory load-file-name))))
+
+(provide-theme 'tubthumping)
+;;; tubthumping-theme.el ends here