]> code.delx.au - gnu-emacs-elpa/blob - packages/ahungry-theme/ahungry-theme.el
Merge commit '0cda39255827f283e7578cd469ae42daad9556a2' from js2-mode
[gnu-emacs-elpa] / packages / ahungry-theme / ahungry-theme.el
1 ;;; ahungry-theme.el --- Ahungry color theme for Emacs. Make sure to (load-theme 'ahungry). -*- lexical-binding:t -*-
2
3 ;; Copyright (C) 2015,2016 Free Software Foundation, Inc.
4
5 ;; Author: Matthew Carter <m@ahungry.com>
6 ;; Maintainer: Matthew Carter <m@ahungry.com>
7 ;; URL: https://github.com/ahungry/color-theme-ahungry
8 ;; Version: 1.2.0
9 ;; Keywords: ahungry palette color theme emacs color-theme deftheme
10 ;; Package-Requires: ((emacs "24"))
11
12 ;; This file is part of GNU Emacs.
13
14 ;;; License:
15
16 ;; This program is free software: you can redistribute it and/or modify
17 ;; it under the terms of the GNU General Public License as published by
18 ;; the Free Software Foundation, either version 3 of the License, or
19 ;; (at your option) any later version.
20 ;;
21 ;; This program is distributed in the hope that it will be useful,
22 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
23 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
24 ;; GNU General Public License for more details.
25 ;;
26 ;; You should have received a copy of the GNU General Public License
27 ;; along with this program. If not, see <http://www.gnu.org/licenses/>.
28
29 ;;; Commentary:
30
31 ;; Bright and bold color theme for GNU Emacs.
32
33 ;; If you load it from a terminal, you will be able to make use of the
34 ;; transparent background. If you load it from a GUI, it will default
35 ;; to a dark background.
36
37 ;;; News:
38
39 ;;;; Changes since 1.1.0:
40 ;; - New variable ahungry-theme-font-settings to avoid overriding user font sizes
41 ;; - Add info-mode faces
42
43 ;;;; Changes since 1.0.12:
44 ;; - Add erc/jabber faces to begin with
45
46 ;;;; Changes since 1.0.11:
47 ;; - Purple is too hard to read on poor contrast monitors, use a blue
48
49 ;;;; Changes since 1.0.10:
50 ;; - Add faces for powerline/spaceline setup
51 ;; - Reduce org-mode heading sizes slightly
52
53 ;;;; Changes since 1.0.9:
54 ;; - Add/adjust some of the org-mode faces
55
56 ;;;; Changes since 1.0.8:
57 ;; - Add even more colors for magit 2.0 face names
58
59 ;;;; Changes since 1.0.7:
60 ;; - Add colors for magit 2.0 face names
61
62 ;;;; Changes since 1.0.6:
63 ;; - Remove warning producing call to "default" background color
64 ;; - Add a color update for mm-uu-extract
65
66 ;;;; Changes since 1.0.5:
67 ;; - Add a few colors for helm (the defaults did not work well with this theme)
68
69 ;;;; Changes since 1.0.4:
70 ;; - Don't circumvent normal autoloads functionality, use the comment load method
71
72 ;;;; Changes since 1.0.3:
73 ;; - Manually include an autoloads file to make sure
74 ;; custom-theme-load-path is filled out
75 ;; - Update description to make mention of (load-theme 'ahungry) for new users
76
77 ;;; Code:
78
79 (deftheme ahungry
80 "Ahungry Theme")
81
82 (defvar ahungry-theme-font-settings
83 '(:family "Terminus" :foundry "xos4"
84 :slant normal :weight normal
85 :height 100 :width normal)
86 "If set to nil, will avoid overriding the user font settings.
87 Leave this alone to retain defaults.
88
89 Default value:
90 '(:family \"Terminus\" :foundry \"xos4\"
91 :slant normal :weight normal
92 :height 100 :width normal)")
93
94 (let ((mainbg (when (display-graphic-p) "#222222")));; "default")))
95 (custom-theme-set-faces
96 'ahungry ;; This is the theme name
97 `(default ((t (:foreground "#ffffff" :background ,mainbg
98 ,@ahungry-theme-font-settings))))
99 '(cursor ((t (:background "#fce94f" :foreground "#ffffff"))))
100 '(highlight ((t (:background "brown4" :foreground nil))))
101 '(border ((t (:background "#888a85"))))
102 '(fringe ((t (:background "#333333"))))
103 '(mode-line ((t (:foreground "#0022aa" :bold t :background "#77ff00"
104 :box (:line-width 1 :color nil :style released-button)))))
105 '(mode-line-inactive ((t (:foreground "#444444" :background "#66ff33"))))
106 '(mode-line-buffer-id ((t (:bold t :foreground "#ffffff" :background "#0055ff"))))
107 '(powerline-active1 ((t (:foreground "#ffffff" :background "#222222"))))
108 '(powerline-active2 ((t (:foreground "#ffffff" :background "#77ff00"))))
109 '(powerline-inactive1 ((t (:foreground "#ffffff" :background "#555555"))))
110 '(powerline-inactive2 ((t (:foreground "#ffffff" :background "#66ff33"))))
111 '(spaceline-flycheck-error ((t (:foreground "#ff0066" :background "#333333"))))
112 '(spaceline-flycheck-info ((t (:foreground "#ffaa00" :background "#333333"))))
113 '(spaceline-flycheck-warning ((t (:foreground "#ffaa00" :background "#333333"))))
114 '(region ((t (:background "#444444"))))
115 '(link ((t (:underline t :foreground "#33ff99"))))
116 '(custom-link ((t (:inherit 'link))))
117 '(match ((t (:bold t :background "#e9b96e" :foreground "#2e3436"))))
118 '(tool-tips ((t (:inherit 'variable-pitch :foreground "black" :background "#ffff33"))))
119 '(tooltip ((t (:inherit 'variable-pitch :foreground "black" :background "#ffff33"))))
120 '(bold ((t (:bold t :underline nil :background nil))))
121 '(italic ((t (:italic t :underline nil :background nil))))
122 '(font-lock-builtin-face ((t (:foreground "#0055ff"))))
123 '(font-lock-comment-face ((t (:foreground "#888a85" :bold nil :italic t))))
124 '(font-lock-constant-face ((t (:foreground "#fff900"))))
125 '(font-lock-doc-face ((t (:foreground "#777700" :bold t :italic t))))
126 '(font-lock-keyword-face ((t (:foreground "#3cff00" :bold t))))
127 '(font-lock-string-face ((t (:foreground "#ff0077" :italic nil :bold nil))))
128 '(font-lock-type-face ((t (:foreground "#deff00" :bold t))))
129 '(font-lock-variable-name-face ((t (:foreground "#0033ff" :bold t))))
130 '(font-lock-warning-face ((t (:bold t :foreground "#ff0000"))))
131 '(font-lock-function-name-face ((t (:foreground "#ffee00" :bold t))))
132 '(comint-highlight-input ((t (:italic t :bold t))))
133 '(comint-highlight-prompt ((t (:foreground "#33cc33"))))
134 '(diff-header ((t (:background "#444444"))))
135 '(diff-index ((t (:foreground "#ffff00" :bold t))))
136 '(diff-file-header ((t (:foreground "#aaaaaa" :bold t))))
137 '(diff-hunk-header ((t (:foreground "#ffff00"))))
138 '(diff-added ((t (:background "default" :foreground "#00ff00" :weight normal))))
139 '(diff-removed ((t (:background "default" :foreground "#ff0000" :weight normal))))
140 '(diff-context ((t (:foreground "#777777"))))
141 '(diff-refine-change ((t (:bold t :background "#444444"))))
142 '(isearch ((t (:background "#ff6600" :foreground "#333333"))))
143 '(isearch-lazy-highlight-face ((t (:foreground "#2e3436" :background "#ff6600"))))
144 '(show-paren-match-face ((t (:background "#ff6600" :foreground "#2e3436"))))
145 '(show-paren-mismatch-face ((t (:background "#999999" :foreground "#ff6600"))))
146 '(diary ((t (:bold t :foreground "#ff0000"))))
147 '(message-cited-text ((t (:foreground "#ffc800"))))
148 '(gnus-cite-1 ((t (:foreground "#999999"))))
149 '(gnus-cite-2 ((t (:foreground "#cba559"))))
150 '(gnus-cite-3 ((t (:foreground "#83ae92"))))
151 '(gnus-cite-4 ((t (:foreground "#6898a7"))))
152 '(gnus-cite-face-1 ((t (:foreground "#999999"))))
153 '(gnus-cite-face-2 ((t (:foreground "#cba559"))))
154 '(gnus-cite-face-3 ((t (:foreground "#83ae92"))))
155 '(gnus-cite-face-4 ((t (:foreground "#6898a7"))))
156 '(gnus-group-mail-1-empty ((t (:foreground "#009955"))))
157 '(gnus-group-mail-1 ((t (:bold t :foreground "#ff9900"))))
158 '(gnus-group-mail-2-empty ((t (:foreground "#009955"))))
159 '(gnus-group-mail-2 ((t (:bold t :foreground "#ffaa00"))))
160 '(gnus-group-mail-3-empty ((t (:foreground "#009955"))))
161 '(gnus-group-mail-3 ((t (:bold t :foreground "#ffcc00"))))
162 '(gnus-group-mail-low-empty ((t (:foreground "#009955"))))
163 '(gnus-group-mail-low ((t (:bold t :foreground "#005fff"))))
164 '(gnus-group-news-1-empty ((t (:foreground "#009955"))))
165 '(gnus-group-news-1 ((t (:bold t :foreground "#ff9900"))))
166 '(gnus-group-news-2-empty ((t (:foreground "#009955"))))
167 '(gnus-group-news-2 ((t (:bold t :foreground "#ffaa00"))))
168 '(gnus-group-news-3-empty ((t (:foreground "#009955"))))
169 '(gnus-group-news-3 ((t (:bold t :foreground "#ffcc00"))))
170 '(gnus-group-news-low-empty ((t (:foreground "#009955"))))
171 '(gnus-group-news-low ((t (:bold t :foreground "#005fff"))))
172 '(gnus-header-name ((t (:bold t :foreground "#33ffbb"))))
173 '(gnus-header-from ((t (:bold t :foreground "#ffc800"))))
174 '(gnus-header-subject ((t (:foreground "#ffc800"))))
175 '(gnus-header-content ((t (:italic t :foreground "#33cc33"))))
176 '(gnus-header-newsgroups ((t (:italic t :bold t :foreground "#0088ff"))))
177 '(gnus-signature ((t (:italic t :foreground "#666666"))))
178 '(gnus-summary-cancelled ((t (:background "#222222" :foreground "#ffff00"))))
179 '(gnus-summary-high-ancient ((t (:bold t :foreground "#0099ff"))))
180 '(gnus-summary-high-read ((t (:bold t :foreground "#33ff99"))))
181 '(gnus-summary-high-ticked ((t (:bold t :foreground "#f68585"))))
182 '(gnus-summary-high-unread ((t (:bold t :foreground "#ffffff"))))
183 '(gnus-summary-low-ancient ((t (:italic t :foreground "#33ff99"))))
184 '(gnus-summary-low-read ((t (:italic t :foreground "#0099ff"))))
185 '(gnus-summary-low-ticked ((t (:italic t :foreground "#ff3333"))))
186 '(gnus-summary-low-unread ((t (:italic t :foreground "#ffffff"))))
187 '(gnus-summary-normal-ancient ((t (:foreground "#0099ff"))))
188 '(gnus-summary-normal-read ((t (:foreground "#33ff99"))))
189 '(gnus-summary-normal-ticked ((t (:foreground "#ff0000"))))
190 '(gnus-summary-normal-unread ((t (:foreground "#ffffff"))))
191 '(gnus-summary-selected ((t (:background "brown4" :foreground "#ffffff"))))
192 '(message-header-name ((t (:foreground "#f68585"))))
193 '(message-header-newsgroups ((t (:italic t :bold t :foreground "#0088ff"))))
194 '(message-header-other ((t (:foreground "#0088ff"))))
195 '(message-header-xheader ((t (:foreground "#0088ff"))))
196 '(message-header-subject ((t (:foreground "#ffffff"))))
197 '(message-header-to ((t (:foreground "#ffffff"))))
198 '(message-header-cc ((t (:foreground "#ffffff"))))
199 '(mm-uu-extract ((t (:foreground "#0066ff"))))
200 '(org-hide ((t (:foreground "#222222"))))
201 '(org-level-1 ((t (:bold t :foreground "#4477ff" :height 1.4))))
202 '(org-level-2 ((t (:bold nil :foreground "#ffc800" :height 1.1))))
203 '(org-level-3 ((t (:bold t :foreground "#00aa33" :height 1.0))))
204 '(org-level-4 ((t (:bold nil :foreground "#f68585" :height 1.0))))
205 '(org-date ((t (:underline t :foreground "#ff0066"))))
206 '(org-footnote ((t (:underline t :foreground "#ff0066"))))
207 '(org-link ((t (:foreground "skyblue2" :background "#2e3436"))))
208 '(org-special-keyword ((t (:foreground "#cc0033"))))
209 '(org-verbatim ((t (:foreground "#cc6600" :underline t :slant italic))))
210 '(org-block ((t (:foreground "#999999"))))
211 '(org-quote ((t (:inherit org-block :bold t :slant italic))))
212 '(org-verse ((t (:inherit org-block :bold t :slant italic))))
213 '(org-table ((t (:foreground "#0055ff"))))
214 '(org-todo ((t (:bold t :foreground "#ff0099"))))
215 '(org-done ((t (:bold t :foreground "#00cc33"))))
216 '(org-agenda-structure ((t (:weight bold :foreground "#f68585"))))
217 '(org-agenda-date ((t (:foreground "#00ff55"))))
218 '(org-agenda-date-weekend ((t (:weight normal :foreground "#005fff"))))
219 '(org-agenda-date-today ((t (:weight bold :foreground "#ffc800"))))
220 '(org-agenda-done ((t (:weight normal :foreground "#00aa33"))))
221 '(org-block-begin-line ((t (:foreground "#bbbbbb" :background "#333333"))))
222 '(org-block-background ((t (:background "#333333"))))
223 '(org-block-end-line ((t (:foreground "#bbbbbb" :background "#333333"))))
224 '(org-document-title ((t (:weight bold :foreground "#0077cc"))))
225 '(org-document-info ((t (:weight normal :foreground "#0077cc"))))
226 '(org-document-info-keyword ((t (:weight normal :foreground "#aaaaaa"))))
227 '(org-warning ((t (:weight normal :foreground "#ee0033"))))
228 '(magit-hash ((t (:foreground "#6699aa"))))
229 '(magit-branch-local ((t (:foreground "#0066ff"))))
230 '(magit-branch-remote ((t (:foreground "#ffcc44"))))
231 '(magit-diffstat-added ((t (:foreground "#00ff66"))))
232 '(magit-diff-added-highlight ((t (:foreground "#33ff00" :weight normal))))
233 '(magit-diff-added ((t (:foreground "#44aa00" :weight normal))))
234 '(magit-diff-removed-highlight ((t (:foreground "#ff0033" :weight normal))))
235 '(magit-diff-removed ((t (:foreground "#aa0044" :weight normal))))
236 '(magit-diff-hunk-heading ((t (:foreground "#aaaa00"))))
237 '(magit-diff-hunk-heading-highlight ((t (:foreground "#ffff00"))))
238 '(magit-diffstat-removed ((t (:foreground "#ff0066"))))
239 '(magit-diff-context-highlight ((t (:foreground "#ffffff"))))
240 '(magit-section-heading ((t (:foreground "#ff0066"))))
241 '(magit-section-highlight ((t (:weight bold))));;:foreground "#ffffff"))))
242 '(minibuffer-prompt ((t (:foreground "#0055ff" :bold t))))
243 '(web-mode-html-tag-bracket-face ((t (:foreground "#666666"))))
244 '(helm-selection ((t (:foreground "#ff0099" :italic t :bold t :background "#f2e997"))))
245 '(helm-match ((t (:foreground "gold1"))))
246 '(helm-visible-mark ((t (:background "#f2e997" :foreground "#ff0099" :bold nil :italic nil))))
247 '(erc-nick-default-face ((t (:foreground "#ff0099"))))
248 '(erc-current-nick-face ((t (:foreground "#0099ff"))))
249 '(erc-input-face ((t (:foreground "#0099ff"))))
250 '(erc-prompt-face ((t (:background nil :foreground "#666666" :bold t :italic t))))
251 '(erc-timestamp-face ((t (:background nil :foreground "#666666" :bold nil :italic t))))
252 '(jabber-chat-prompt-foreign ((t (:foreground "#ff0099"))))
253 '(jabber-chat-prompt-local ((t (:foreground "#0099ff"))))
254 '(jabber-rare-time-face ((t (:foreground "#666666" :bold nil :italic t))))
255 '(eshell-prompt ((t (:foreground "#0099ff"))))
256 '(info-menu-header ((t (:foreground "#0099ff" :bold t :underline t))))
257 '(info-header-xref ((t (:foreground "#0099ff"))))
258 '(info-header-node ((t (:foreground "#ff0099" :bold t :italic t))))
259 '(info-menu-star ((t (:foreground "#0099ff" :bold t))))
260 '(info-xref-visited ((t (:foreground "#999999"))))
261 '(info-xref ((t (:foreground "#0099ff"))))
262 '(info-node ((t (:foreground "#ff0099"))))
263 '(info-title-1 ((t (:foreground "yellow" :bold t))))
264 '(info-title-2 ((t (:foreground "#ff0099"))))
265 )
266 (custom-theme-set-variables
267 'ahungry
268 '(red "#ffffff"))
269 )
270
271 ;;;###autoload
272 (when (and load-file-name (boundp 'custom-theme-load-path))
273 (add-to-list
274 'custom-theme-load-path
275 (file-name-as-directory (file-name-directory load-file-name))))
276
277 (provide-theme 'ahungry)
278
279 ;;; ahungry-theme.el ends here