Mercurial > emacs
changeset 110955:c84f553cca36
Add some default custom themes.
* cus-theme.el (custom-theme--listed-faces): Add cursor face.
(describe-theme-1): Extract doc from unloaded themes.
* custom.el (custom-theme-name-valid-p): Don't list color-themes.
* themes/tango-theme.el:
* themes/tango-dark-theme.el:
* themes/wheatgrass-theme.el: New files.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Tue, 12 Oct 2010 16:06:20 -0400 |
parents | 815b78211543 |
children | 07776ed6876f |
files | lisp/ChangeLog lisp/cus-theme.el lisp/custom.el lisp/themes/tango-dark-theme.el lisp/themes/tango-theme.el lisp/themes/wheatgrass-theme.el |
diffstat | 6 files changed, 291 insertions(+), 11 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/ChangeLog Tue Oct 12 07:37:33 2010 -0700 +++ b/lisp/ChangeLog Tue Oct 12 16:06:20 2010 -0400 @@ -1,3 +1,14 @@ +2010-10-12 Chong Yidong <cyd@stupidchicken.com> + + * cus-theme.el (custom-theme--listed-faces): Add cursor face. + (describe-theme-1): Extract doc from unloaded themes. + + * custom.el (custom-theme-name-valid-p): Don't list color-themes. + + * themes/tango-theme.el: + * themes/tango-dark-theme.el: + * themes/wheatgrass-theme.el: New files. + 2010-10-12 Chong Yidong <cyd@stupidchicken.com> * cus-theme.el (describe-theme, customize-themes)
--- a/lisp/cus-theme.el Tue Oct 12 07:37:33 2010 -0700 +++ b/lisp/cus-theme.el Tue Oct 12 16:06:20 2010 -0400 @@ -56,7 +56,7 @@ (defvar custom-theme-insert-variable-marker nil) (defvar custom-theme-insert-face-marker nil) -(defvar custom-theme--listed-faces '(default fixed-pitch +(defvar custom-theme--listed-faces '(default cursor fixed-pitch variable-pitch escape-glyph minibuffer-prompt highlight region shadow secondary-selection trailing-whitespace font-lock-builtin-face font-lock-comment-delimiter-face @@ -478,21 +478,37 @@ (princ " is a custom theme") (let ((fn (locate-file (concat (symbol-name theme) "-theme.el") (cons custom-theme-directory load-path) - '("" "c")))) + '("" "c"))) + doc) (when fn (princ " in `") (help-insert-xref-button (file-name-nondirectory fn) 'help-theme-def fn) (princ "'")) - (princ ".\n")) - (if (not (memq theme custom-known-themes)) - (princ "It is not loaded.") - (if (custom-theme-enabled-p theme) - (princ "It is loaded and enabled.\n") - (princ "It is loaded but disabled.\n")) - (princ "\nDocumentation:\n") - (princ (or (get theme 'theme-documentation) - "No documentation available."))) + (princ ".\n") + (if (not (memq theme custom-known-themes)) + (progn + (princ "It is not loaded.") + ;; Attempt to grab the theme documentation + (when fn + (with-temp-buffer + (insert-file-contents fn) + (let ((sexp (let ((read-circle nil)) + (condition-case nil + (read (current-buffer)) + (end-of-file nil))))) + (and sexp (listp sexp) + (eq (car sexp) 'deftheme) + (setq doc (nth 2 sexp))))))) + (if (custom-theme-enabled-p theme) + (princ "It is loaded and enabled.") + (princ "It is loaded but disabled.")) + (setq doc (get theme 'theme-documentation))) + + (princ "\n\nDocumentation:\n") + (princ (if (stringp doc) + doc + "No documentation available."))) (princ "\n\nYou can ") (help-insert-xref-button "customize" 'help-theme-edit theme) (princ " this theme."))
--- a/lisp/custom.el Tue Oct 12 07:37:33 2010 -0700 +++ b/lisp/custom.el Tue Oct 12 16:06:20 2010 -0400 @@ -1149,6 +1149,9 @@ (and (symbolp name) name (not (or (zerop (length (symbol-name name))) + ;; There's a third-party package named color-theme.el. + ;; Don't treat that as a theme. + (eq name 'color) (eq name 'cus) (eq name 'user) (eq name 'changed)))))
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/themes/tango-dark-theme.el Tue Oct 12 16:06:20 2010 -0400 @@ -0,0 +1,92 @@ +;;; tango-dark-theme.el --- Tango-based custom theme for faces + +;; Copyright (C) 2010 Free Software Foundation, Inc. + +;; 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 +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; 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 <http://www.gnu.org/licenses/>. + +;;; Commentary + +;; The colors in this theme come from the Tango palette, which is in +;; the public domain: http://tango.freedesktop.org/ + +;;; Code: + +(deftheme tango-dark + "Theme for faces, based on the Tango palette on a dark background. +Basic, Font Lock, Isearch, Gnus, and Message faces are included.") + +(custom-theme-set-faces + 'tango-dark + '(default ((t (:foreground "#eeeeec" :background "#2e3436")))) + '(cursor ((t (:foreground "#2e3436" :background "#fce94f")))) + '(highlight ((t (:foreground "#2e3436" :background "#edd400")))) + '(region ((t (:background "#555753")))) + '(font-lock-builtin-face ((t (:foreground "#ad7fa8")))) + '(font-lock-comment-face ((t (:foreground "#73d216")))) + '(font-lock-constant-face ((t (:foreground "#e6a8df")))) + '(font-lock-function-name-face ((t (:foreground "#fce94f")))) + '(font-lock-keyword-face ((t (:foreground "#8cc4ff")))) + '(font-lock-string-face ((t (:foreground "#e9b96e")))) + '(font-lock-type-face ((t (:foreground "#a5ff4d")))) + '(font-lock-variable-name-face ((t (:foreground "#fcaf3e")))) + '(font-lock-warning-face ((t (:foreground "#ef2929")))) + '(button ((t (:underline t :foreground "#729fcf")))) + '(link ((t (:underline t :foreground "#729fcf")))) + '(link-visited ((t (:underline t :foreground "#3465a4")))) + '(mode-line ((t (:box (:line-width -1 :style released-button) + :background "#d3d7cf" :foreground "black")))) + '(mode-line-inactive ((t (:box (:line-width -1 :style released-button) + :background "#555753" :foreground "white")))) + '(isearch ((t (:foreground "#ffffff" :background "#ce5c00")))) + '(lazy-highlight ((t (:background "#8f5902")))) + '(gnus-group-news-1 ((t (:foreground "#ad7fa8")))) + '(gnus-group-news-1-low ((t (:foreground "#75507b")))) + '(gnus-group-news-2 ((t (:foreground "#729fcf")))) + '(gnus-group-news-2-low ((t (:foreground "#3465a4")))) + '(gnus-group-news-3 ((t (:foreground "#8ae234")))) + '(gnus-group-news-3-low ((t (:foreground "#73d216")))) + '(gnus-group-news-4 ((t (:foreground "#e9b9e6")))) + '(gnus-group-news-4-low ((t (:foreground "#c17d11")))) + '(gnus-group-news-5 ((t (:foreground "#fcaf3e")))) + '(gnus-group-news-5-low ((t (:foreground "#f57900")))) + '(gnus-group-news-low ((t (:foreground "#edd400")))) + '(gnus-group-mail-1 ((t (:foreground "#ad7fa8")))) + '(gnus-group-mail-1-low ((t (:foreground "#75507b")))) + '(gnus-group-mail-2 ((t (:foreground "#729fcf")))) + '(gnus-group-mail-2-low ((t (:foreground "#3465a4")))) + '(gnus-group-mail-3 ((t (:foreground "#8ae234")))) + '(gnus-group-mail-3-low ((t (:foreground "#73d216")))) + '(gnus-group-mail-low ((t (:foreground "#edd400")))) + '(gnus-header-content ((t (:weight normal :foreground "#c4a000")))) + '(gnus-header-from ((t (:foreground "#edd400")))) + '(gnus-header-subject ((t (:foreground "#8ae234")))) + '(gnus-header-name ((t (:foreground "#729fcf")))) + '(gnus-header-newsgroups ((t (:foreground "#c17d11")))) + '(message-header-name ((t (:foreground "#729fcf")))) + '(message-header-cc ((t (:foreground "#c4a000")))) + '(message-header-other ((t (:foreground "#c17d11")))) + '(message-header-subject ((t (:foreground "#8ae234")))) + '(message-header-to ((t (:foreground "#edd400")))) + '(message-cited-text ((t (:foreground "#8ae234")))) + '(message-separator ((t (:foreground "#ad7fa8"))))) + +(provide-theme 'tango-dark) + +;; Local Variables: +;; no-byte-compile: t +;; End: + +;;; tango-dark-theme.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/themes/tango-theme.el Tue Oct 12 16:06:20 2010 -0400 @@ -0,0 +1,92 @@ +;;; tango-theme.el --- Tango-based custom theme for faces + +;; Copyright (C) 2010 Free Software Foundation, Inc. + +;; 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 +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; 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 <http://www.gnu.org/licenses/>. + +;;; Commentary + +;; The colors in this theme come from the Tango palette, which is in +;; the public domain: http://tango.freedesktop.org/ + +;;; Code: + +(deftheme tango + "Theme for faces, based on the Tango palette on a light background. +Basic, Font Lock, Isearch, Gnus, and Message faces are included.") + +(custom-theme-set-faces + 'tango + '(default ((t (:foreground "#16191a" :background "#eeeeec")))) + '(cursor ((t (:foreground "#eeeeec" :background "#204a87")))) + '(highlight ((t (:background "#babdb6")))) + '(region ((t (:background "#babdb6")))) + '(font-lock-builtin-face ((t (:weight bold :foreground "#204a87")))) + '(font-lock-comment-face ((t (:foreground "#204a87")))) + '(font-lock-constant-face ((t (:weight bold :foreground "#5c3566")))) + '(font-lock-function-name-face ((t (:weight bold :foreground "#ce5c00")))) + '(font-lock-keyword-face ((t (:foreground "#a40000")))) + '(font-lock-string-face ((t (:foreground "#5c3566")))) + '(font-lock-type-face ((t (:weight bold :foreground "#4e9a06")))) + '(font-lock-variable-name-face ((t (:weight bold :foreground "#c17d11")))) + '(font-lock-warning-face ((t (:foreground "#cc0000")))) + '(button ((t (:underline t :foreground "#204a87")))) + '(link ((t (:underline t :foreground "#204a87")))) + '(link-visited ((t (:underline t :foreground "#3465a4")))) + '(mode-line ((t (:box (:line-width -1 :style released-button) + :background "#d3d7cf" :foreground "black")))) + '(mode-line-inactive ((t (:box (:line-width -1 :style released-button) + :background "#babdb6" :foreground "black")))) + '(isearch ((t (:foreground "#ffffff" :background "#ce5c00")))) + '(lazy-highlight ((t (:background "#e9b96e")))) + '(gnus-group-news-1 ((t (:weight bold :foreground "#5c3566")))) + '(gnus-group-news-1-low ((t (:foreground "#5c3566")))) + '(gnus-group-news-2 ((t (:weight bold :foreground "#204a87")))) + '(gnus-group-news-2-low ((t (:foreground "#204a87")))) + '(gnus-group-news-3 ((t (:weight bold :foreground "#4e0a06")))) + '(gnus-group-news-3-low ((t (:foreground "#4e0a06")))) + '(gnus-group-news-4 ((t (:weight bold :foreground "#7a4c02")))) + '(gnus-group-news-4-low ((t (:foreground "#7a4c02")))) + '(gnus-group-news-5 ((t (:weight bold :foreground "#ce5c00")))) + '(gnus-group-news-5-low ((t (:foreground "#ce5c00")))) + '(gnus-group-news-low ((t (:foreground "#888a85")))) + '(gnus-group-mail-1 ((t (:weight bold :foreground "#5c3566")))) + '(gnus-group-mail-1-low ((t (:foreground "#5c3566")))) + '(gnus-group-mail-2 ((t (:weight bold :foreground "#204a87")))) + '(gnus-group-mail-2-low ((t (:foreground "#204a87")))) + '(gnus-group-mail-3 ((t (:weight bold :foreground "#4e0a06")))) + '(gnus-group-mail-3-low ((t (:foreground "#4e0a06")))) + '(gnus-group-mail-low ((t (:foreground "#888a85")))) + '(gnus-header-content ((t (:foreground "#4e9a06")))) + '(gnus-header-from ((t (:weight bold :foreground "#c4a000")))) + '(gnus-header-subject ((t (:foreground "#4e0a06")))) + '(gnus-header-name ((t (:foreground "#204a87")))) + '(gnus-header-newsgroups ((t (:foreground "#888a85")))) + '(message-header-name ((t (:foreground "#204a87")))) + '(message-header-cc ((t (:foreground "#c4a000")))) + '(message-header-other ((t (:foreground "#c17d11")))) + '(message-header-subject ((t (:foreground "#4e0a06")))) + '(message-header-to ((t (:weight bold :foreground "#c4a000")))) + '(message-cited-text ((t (:foreground "#888a85")))) + '(message-separator ((t (:weight bold :foreground "#4e9a06"))))) + +(provide-theme 'tango) + +;; Local Variables: +;; no-byte-compile: t +;; End: + +;;; tango-theme.el ends here
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/lisp/themes/wheatgrass-theme.el Tue Oct 12 16:06:20 2010 -0400 @@ -0,0 +1,66 @@ +;;; wheatgrass-theme.el --- custom theme for faces + +;; Copyright (C) 2010 Free Software Foundation, Inc. + +;; 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 +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; 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 <http://www.gnu.org/licenses/>. + +;;; Code: + +(deftheme wheatgrass + "Theme for basic, Font Lock, Isearch, Gnus, and Message faces. +The default face is wheat on a black background. Other faces +are in shades of green, brown, and blue.") + +(custom-theme-set-faces + 'wheatgrass + '(default ((t (:foreground "wheat" :background "black")))) + '(cursor ((t (:foreground "black" :background "thistle")))) + '(highlight ((t (:foreground "white" :background "dark green")))) + '(region ((t (:foreground "white" :background "dark green")))) + '(font-lock-builtin-face ((t (:foreground "LightSteelBlue")))) + '(font-lock-comment-face ((t (:foreground "SpringGreen3")))) + '(font-lock-constant-face ((t (:foreground "turquoise")))) + '(font-lock-function-name-face ((t (:foreground "pale green")))) + '(font-lock-keyword-face ((t (:foreground "white")))) + '(font-lock-string-face ((t (:foreground "dark khaki")))) + '(font-lock-type-face ((t (:foreground "aquamarine")))) + '(font-lock-variable-name-face ((t (:foreground "yellow green")))) + '(font-lock-warning-face ((t (:foreground "salmon1")))) + '(button ((t (:underline t :foreground "cyan")))) + '(link ((t (:underline t :foreground "cyan")))) + '(link-visited ((t (:underline t :foreground "dark cyan")))) + '(isearch ((t (:foreground "white" :background "dark goldenrod")))) + '(lazy-highlight ((t (:background "gray25")))) + '(gnus-header-content ((t (:weight normal :foreground "yellow green")))) + '(gnus-header-from ((t (:foreground "pale green")))) + '(gnus-header-subject ((t (:foreground "pale turquoise")))) + '(gnus-header-name ((t (:foreground "dark sea green")))) + '(gnus-header-newsgroups ((t (:foreground "dark khaki")))) + '(message-header-name ((t (:foreground "dark turquoise")))) + '(message-header-cc ((t (:foreground "yellow green")))) + '(message-header-other ((t (:foreground "dark khaki")))) + '(message-header-subject ((t (:foreground "pale turquoise")))) + '(message-header-to ((t (:foreground "pale green")))) + '(message-cited-text ((t (:foreground "SpringGreen3")))) + '(message-separator ((t (:foreground "deep sky blue"))))) + +(provide-theme 'wheatgrass) + +;; Local Variables: +;; no-byte-compile: t +;; End: + +;;; wheatgrass-theme.el ends here