Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
194 lines (177 sloc) 9.1 KB
;;; better-tango-dark-theme.el --- Tango-based custom theme for faces
;; Copyright (C) 2010-2011 Free Software Foundation, Inc.
;; Original Authors: Chong Yidong <cyd@stupidchicken>
;; Jan Moringen <>
;; This file is part of GNU Emacs.
;; GNU Emacs is free software: you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation, either version 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <>.
;;; Commentary
;; The colors in this theme come from the Tango palette, which is in
;; the public domain:
;;; Code:
(deftheme better-tango-dark
"Theme for faces, based on the Tango palette with a dark background.
Basic, Font Lock, Isearch, Gnus, Message, Ediff, Flyspell,
Semantic, and Ansi-Color faces are included.")
(let ((class '((class color) (min-colors 89)))
;; Tango palette colors.
(butter-1 "#fce94f") (butter-2 "#edd400") (butter-3 "#c4a000")
(orange-1 "#fcaf3e") (orange-2 "#f57900") (orange-3 "#ce5c00")
(choc-1 "#e9b96e") (choc-2 "#c17d11") (choc-3 "#8f5902")
(cham-1 "#8ae234") (cham-2 "#73d216") (cham-3 "#4e9a06")
(blue-1 "#729fcf") (blue-2 "#3465a4") (blue-3 "#204a87")
(plum-1 "#ad7fa8") (plum-2 "#75507b") (plum-3 "#5c3566")
(red-1 "#ef2929") (red-2 "#cc0000") (red-3 "#a40000")
(alum-1 "#eeeeec") (alum-2 "#d3d7cf") (alum-3 "#babdb6")
(alum-4 "#888a85") (alum-5 "#555753") (alum-6 "#2e3436")
;; Not in Tango palette; used for better contrast.
(cham-0 "#b4fa70") (blue-0 "#8cc4ff") (plum-0 "#e6a8df")
(red-0 "#ff4b4b") (alum-5.5 "#41423f") (alum-7 "#212526"))
;; Ensure sufficient contrast on low-color terminals.
`(default ((((class color) (min-colors 4096))
(:foreground ,alum-1 :background ,alum-6))
(((class color) (min-colors 256))
(:foreground ,alum-1 :background "#222"))
(:foreground ,alum-1 :background "black"))))
`(cursor ((,class (:foreground ,alum-6 :background ,alum-6))))
;; Highlighting faces
`(fringe ((,class (:background ,alum-7))))
`(highlight ((,class (:foreground ,alum-6 :background ,butter-2))))
`(region ((,class (:background ,alum-5))))
`(secondary-selection ((,class (:background ,blue-3))))
`(isearch ((,class (:foreground ,alum-1 :background ,orange-3))))
`(lazy-highlight ((,class (:background ,choc-3))))
`(trailing-whitespace ((,class (:background ,red-3))))
;; Mode line faces
`(mode-line ((,class
(:box (:line-width -1 :style released-button)
:background ,alum-2 :foreground ,alum-6))))
`(mode-line-inactive ((,class
(:box (:line-width -1 :style released-button)
:background ,alum-5 :foreground ,alum-1))))
;; Escape and prompt faces
`(minibuffer-prompt ((,class (:foreground ,cham-0))))
`(escape-glyph ((,class (:foreground ,butter-3))))
;; Font lock faces
`(font-lock-builtin-face ((,class (:foreground ,plum-1))))
`(font-lock-comment-face ((,class (:foreground ,cham-2))))
`(font-lock-constant-face ((,class (:foreground ,plum-0))))
`(font-lock-function-name-face ((,class (:foreground ,butter-1))))
`(font-lock-keyword-face ((,class (:foreground ,cham-0))))
`(font-lock-string-face ((,class (:foreground ,choc-1))))
`(font-lock-type-face ((,class (:foreground ,blue-0))))
`(font-lock-variable-name-face ((,class (:foreground ,orange-1))))
`(font-lock-warning-face ((,class (:foreground ,red-0))))
;; Button and link faces
`(button ((,class (:underline t :foreground ,blue-1))))
`(link ((,class (:underline t :foreground ,blue-1))))
`(link-visited ((,class (:underline t :foreground ,blue-2))))
;; Gnus faces
`(gnus-group-news-1 ((,class (:foreground ,plum-1))))
`(gnus-group-news-1-low ((,class (:foreground ,plum-2))))
`(gnus-group-news-2 ((,class (:foreground ,blue-1))))
`(gnus-group-news-2-low ((,class (:foreground ,blue-2))))
`(gnus-group-news-3 ((,class (:foreground ,cham-1))))
`(gnus-group-news-3-low ((,class (:foreground ,cham-2))))
`(gnus-group-news-4 ((,class (:foreground ,plum-0))))
`(gnus-group-news-4-low ((,class (:foreground ,choc-2))))
`(gnus-group-news-5 ((,class (:foreground ,orange-1))))
`(gnus-group-news-5-low ((,class (:foreground ,orange-2))))
`(gnus-group-news-low ((,class (:foreground ,butter-2))))
`(gnus-group-mail-1 ((,class (:foreground ,plum-1))))
`(gnus-group-mail-1-low ((,class (:foreground ,plum-2))))
`(gnus-group-mail-2 ((,class (:foreground ,blue-1))))
`(gnus-group-mail-2-low ((,class (:foreground ,blue-2))))
`(gnus-group-mail-3 ((,class (:foreground ,cham-1))))
`(gnus-group-mail-3-low ((,class (:foreground ,cham-2))))
`(gnus-group-mail-low ((,class (:foreground ,butter-2))))
`(gnus-header-content ((,class (:weight normal :foreground ,butter-3))))
`(gnus-header-from ((,class (:foreground ,butter-2))))
`(gnus-header-subject ((,class (:foreground ,cham-1))))
`(gnus-header-name ((,class (:foreground ,blue-1))))
`(gnus-header-newsgroups ((,class (:foreground ,choc-2))))
;; Message faces
`(message-header-name ((,class (:foreground ,blue-1))))
`(message-header-cc ((,class (:foreground ,butter-3))))
`(message-header-other ((,class (:foreground ,choc-2))))
`(message-header-subject ((,class (:foreground ,cham-1))))
`(message-header-to ((,class (:foreground ,butter-2))))
`(message-cited-text ((,class (:foreground ,cham-1))))
`(message-separator ((,class (:foreground ,plum-1))))
;; SMerge faces
`(smerge-refined-change ((,class (:background ,blue-3))))
;; Ediff faces
`(ediff-current-diff-A ((,class (:background ,alum-5))))
`(ediff-fine-diff-A ((,class (:background ,blue-3))))
`(ediff-even-diff-A ((,class (:background ,alum-5.5))))
`(ediff-odd-diff-A ((,class (:background ,alum-5.5))))
`(ediff-current-diff-B ((,class (:background ,alum-5))))
`(ediff-fine-diff-B ((,class (:background ,choc-3))))
`(ediff-even-diff-B ((,class (:background ,alum-5.5))))
`(ediff-odd-diff-B ((,class (:background ,alum-5.5))))
;; Flyspell faces
`(flyspell-duplicate ((,class (:underline ,orange-1))))
`(flyspell-incorrect ((,class (:underline ,red-1))))
;; Semantic faces
`(semantic-decoration-on-includes ((,class (:underline ,alum-4))))
((,class (:background ,plum-3))))
((,class (:background ,choc-3))))
((,class (:background ,red-3))))
((,class (:background ,alum-5.5))))
`(semantic-tag-boundary-face ((,class (:overline ,blue-1))))
`(semantic-unmatched-syntax-face ((,class (:underline ,red-1))))
;; Dired faces
`(dired-face-boring ((,class (:foreground ,alum-1))))
`(dired-face-directory ((,class (:foreground ,alum-1))))
`(dired-face-executable ((,class (:foreground ,alum-1))))
`(dired-face-flagged ((,class (:foreground ,alum-1))))
`(dired-face-marked ((,class (:foreground ,alum-1))))
`(dired-face-permissions ((,class (:foreground ,alum-1))))
`(dired-face-setuid ((,class (:foreground ,alum-1))))
`(dired-face-socket ((,class (:foreground ,alum-1))))
`(dired-face-symlink ((,class (:foreground ,alum-1))))
`(diredp-display-msg ((,class (:foreground ,alum-1))))
`(diredp-dir-heading ((,class (:background ,orange-1))))
`(diredp-deletion ((,class (:foreground ,alum-1))))
`(diredp-deletion-file-name ((,class (:foreground ,alum-1))))
`(diredp-flag-mark ((,class (:foreground ,alum-1))))
`(diredp-flag-mark-line ((,class (:foreground ,alum-1))))
`(diredp-file-suffix ((,class (:foreground ,cham-0))))
`(diredp-symlink ((,class (:foreground ,alum-1))))
`(diredp-date-time ((,class (:foreground ,alum-1))))
`(diredp-file-name ((,class (:foreground ,cham-0))))
`(diredp-ignored-file-name ((,class (:foreground ,alum-1))))
`(diredp-compressed-file-suffix ((,class (:foreground ,alum-1))))
`(diredp-executable-tag ((,class (:foreground ,alum-1))))
`(diredp-dir-priv ((,class (:foreground ,alum-1))))
`(diredp-exec-priv ((,class (:foreground ,alum-1))))
`(diredp-other-priv ((,class (:foreground ,alum-1))))
`(diredp-write-priv ((,class (:foreground ,alum-1))))
`(diredp-read-priv ((,class (:foreground ,alum-1))))
`(diredp-no-priv ((,class (:foreground ,alum-1))))
`(diredp-rare-priv ((,class (:foreground ,alum-1))))
`(diredp-link-priv ((,class (:foreground ,alum-1)))))
`(ansi-color-names-vector [,alum-7 ,red-0 ,cham-0 ,butter-1
,blue-1 ,plum-1 ,blue-0 ,alum-1])))
(provide-theme 'better-tango-dark)
;; Local Variables:
;; no-byte-compile: t
;; End:
;;; better-tango-dark-theme.el ends here