Skip to content

Instantly share code, notes, and snippets.

@akorobov
Last active December 14, 2015 03:59
Show Gist options
  • Save akorobov/5024973 to your computer and use it in GitHub Desktop.
Save akorobov/5024973 to your computer and use it in GitHub Desktop.
emacs 24 monochrome theme based/inspired by https://github.com/fxn/monochrome-theme.el
(deftheme mono-light
"Light monochrome theme")
(let ((class '((class color) (min-colors 10)))
(black "#080808") ; black
(white "#fafafa") ; "white"
(lgray "#b3b3b3")
(dgray "#303030")
(sgray "#606060")
(sgray+1 "#707070")
(orange "#ffaf87")
(green "#5f5f00"))
(custom-theme-set-faces
'mono-light
`(default ((,class (:foreground ,black :background ,white))))
`(cursor ((,class (:background ,green))))
;; Highlighting faces
`(fringe ((,class (:background ,white :foreground ,black))))
`(highlight ((,class (:foreground ,white :background ,sgray))))
`(region ((,class (:foreground ,white :background ,sgray+1))))
`(secondary-selection ((,class (:foreground: ,white :background ,sgray))))
`(isearch ((,class (:foreground ,white :background ,orange))))
`(lazy-highlight ((,class (:foreground ,white :background ,dgray))))
`(trailing-whitespace ((,class (:background "red"))))
;; Mode line faces
`(mode-line ((,class (:box (:line-width -1 :style released-button)
:background "#e5e5e5" :foreground ,dgray))))
`(mode-line-inactive ((,class (:box (:line-width -1 :style released-button)
:background "#b0b0b0"
:foreground ,black))))
;; Escape and prompt faces
`(minibuffer-prompt ((,class (:weight bold :foreground ,dgray))))
`(escape-glyph ((,class (:foreground ,dgray))))
`(error ((,class (:background ,dgray :weight bold :slant italic :foreground "red"))))
`(warning ((,class (:background ,dgray :foreground ,orange))))
`(success ((,class (:background ,dgray :foreground ,green))))
;; Font lock faces
`(font-lock-builtin-face ((t (:foreground ,black))))
`(font-lock-comment-face ((t (:foreground ,sgray))))
`(font-lock-comment-delimiter-face ((t (:foreground ,sgray))))
`(font-lock-doc-face ((t (:foreground ,sgray))))
`(font-lock-doc-string-face ((t (:foreground ,sgray))))
`(font-lock-special-keyword-face ((t (:foreground ,sgray))))
`(font-lock-constant-face ((t (:foreground ,dgray))))
`(font-lock-function-name-face ((t (:foreground ,black))))
`(font-lock-keyword-face ((t (:weight bold :foreground ,dgray))))
`(font-lock-string-face ((t (:foreground ,sgray))))
`(font-lock-type-face ((t (:foreground ,dgray))))
`(font-lock-variable-name-face ((t ( :foreground ,dgray))))
`(font-lock-warning-face ((t (:foreground ,orange))))
`(font-lock-preprocessor-face ((t (:foreground ,dgray))))
;; compilation
`(compilation-column-face ((t (:foreground ,dgray))))
`(compilation-enter-directory-face ((t (:foreground ,dgray))))
`(compilation-error-face ((t (:foreground ,dgray :weight bold :underline t))))
`(compilation-face ((t (:foreground ,dgray))))
`(compilation-info-face ((t (:foreground ,dgray))))
`(compilation-info ((t (:foreground ,dgray :underline t))))
`(compilation-leave-directory-face ((t (:foreground ,dgray))))
`(compilation-line-face ((t (:foreground ,dgray))))
`(compilation-line-number ((t (:foreground ,dgray))))
`(compilation-message-face ((t (:foreground ,dgray))))
`(compilation-warning-face ((t (:foreground ,dgray :weight bold :underline t))))
;;; grep
`(grep-context-face ((t (:foreground ,dgray))))
`(grep-error-face ((t (:foreground ,dgray :weight bold :underline t))))
`(grep-hit-face ((t (:foreground ,dgray))))
`(grep-match-face ((t (:foreground ,orange :weight bold))))
`(match ((t (:background ,orange :foreground ,dgray :weight bold))))
;; diff
`(diff-added ((,class (:foreground ,dgray))
(t (:foreground ,dgray))))
`(diff-changed ((t (:foreground ,orange))))
`(diff-removed ((,class (:foreground ,sgray))
(t (:foreground ,lgray))))
`(diff-header ((,class (:background ,white))
(t (:background ,white :foreground ,dgray))))
`(diff-file-header
((,class (:background ,white :foreground ,dgray :bold t))
(t (:background ,white :foreground ,dgray :bold t))))
`(diff-index-face
((,class (:background ,white :foreground ,dgray :bold t))
(t (:background ,white :foreground ,dgray :bold t))))
;; Button and link faces
`(link ((,class (:underline t :foreground ,dgray))))
`(link-visited ((,class (:underline t :foreground ,dgray))))
;; ido
`(ido-first-match ((,class (:foreground ,dgray))))
`(ido-only-match ((,class (:underline ,dgray :foreground ,dgray))))
`(ido-subdir ((,class (:weight bold :foreground ,black))))
;; Flyspell
`(flyspell-duplicate ((,class (:weight unspecified :foreground unspecified :slant unspecified :underline ,dgray))))
`(flyspell-incorrect ((,class (:weight unspecified :foreground unspecified :slant unspecified :underline ,dgray)))))
(custom-theme-set-variables
'mono-light
`(ansi-color-names-vector [,white ,dgray ,lgray ,sgray])))
(provide-theme 'mono-light)
;; Local Variables:
;; no-byte-compile: t
;; End:
;;; mono-light.el ends here
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment