summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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