├── .gitignore
├── preview
└── gui.png
├── README.md
└── birds-of-paradise-plus-theme.el
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 | *.elc
3 |
--------------------------------------------------------------------------------
/preview/gui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/jerrypnz/birds-of-paradise-plus-theme.el/master/preview/gui.png
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Birds of Paradise (Plus)
2 |
3 | A Emacs port of Joe Bergantine's light-on-dark [theme][bop] by the same
4 | name.
5 |
6 |
7 |

8 |
9 |
10 | ## Installation & Usage
11 |
12 | ### Emacs 24
13 |
14 | 1. Add the `birds-of-paradise-plus-theme` directory to your Emacs `load-path`
15 | and `custom-theme-load-path`.
16 | 2. Add one of the following to your Emacs init file:
17 | - `(require 'birds-of-paradise-plus-theme)`
18 | - `(load-theme birds-of-paradise-plus t)`
19 | 3. Reload the init file, or restart Emacs.
20 |
21 | ### Pre-Emacs 24
22 |
23 | Not supported, sorry.
24 |
25 | ## Credits
26 |
27 | - Original [Birds of Paradise][bop] theme created by Joe Bergantine for
28 | [Coda][].
29 | - Original `birds-of-paradise-theme.el` port created by Paul M. Rodriguez.
30 |
31 |
32 | [bop]: http://joebergantine.com/werkstatt/birds-of-paradise
33 | [coda]: http://panic.com/coda/
34 |
--------------------------------------------------------------------------------
/birds-of-paradise-plus-theme.el:
--------------------------------------------------------------------------------
1 | ;;; birds-of-paradise-plus-theme.el --- A brown/orange light-on-dark theme for Emacs 24 (deftheme).
2 | ;;
3 | ;; Copyright (c) 2012 Jim Myhrberg.
4 | ;;
5 | ;; Author: Jim Myhrberg
6 | ;; Version: 0.1.1
7 | ;; Keywords: themes
8 | ;; URL: https://github.com/jimeh/birds-of-paradise-plus-theme.el
9 | ;;
10 | ;; This file is not part of GNU Emacs.
11 | ;;
12 | ;; GNU Emacs is free software: you can redistribute it and/or modify
13 | ;; it under the terms of the GNU General Public License as published by
14 | ;; the Free Software Foundation, either version 3 of the License, or
15 | ;; (at your option) any later version.
16 | ;;
17 | ;; GNU Emacs is distributed in the hope that it will be useful,
18 | ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
19 | ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20 | ;; GNU General Public License for more details.
21 | ;;
22 | ;; You should have received a copy of the GNU General Public License
23 | ;; along with GNU Emacs. If not, see .
24 | ;;
25 | ;;; Credit:
26 | ;;
27 | ;; The original Birds of Paradise theme was created by Joe Bergantine for
28 | ;; Coda: http://joebergantine.com/werkstatt/birds-of-paradise
29 | ;;
30 | ;; The original Emacs port (birds-of-paradise-theme.el) of Birds of Paradise
31 | ;; was created by Paul M. Rodriguez .
32 | ;;
33 | ;;; Code:
34 |
35 | (deftheme birds-of-paradise-plus
36 | "Port of the brown-based warm light-on-dark theme by Joe Bergantine.")
37 |
38 | (let ((brown-1 "#452E2E") (brown-2 "#865C38") (brown-3 "#4B3330")
39 | (brown-4 "#523D2B") (brown-5 "#7D504A")
40 | (brown-6 "#392626") (brown-7 "#3E2929")
41 | (white-1 "#E6E1C4") (white-2 "#E6E1DC") (white-3 "#654D4D")
42 | (black-1 "#1F1611") (black-2 "#16120E") (black-3 "#000000")
43 | (gray-1 "#4e4e4e")
44 | (yellow-1 "#D9D762") (yellow-2 "#EFAC32") (yellow-3 "#EFCB43")
45 | (yellow-4 "#EFC232") (yellow-5 "#FFC05C")
46 | (orange-1 "#EF5D32") (orange-2 "#CC762E") (orange-3 "#C74725")
47 | (red-1 "#990000") (red-2 "#660000") (red-3 "#CC4232")
48 | (red-4 "#BE3250") (red-5 "#D23850")
49 | (red-6 "firebrick4") (red-7 "#FF7575")
50 | (blue-1 "#7DAF9C") (blue-2 "#6C99BB") (blue-3 "#5798AE")
51 | (blue-4 "#93C1BC") (blue-5 "#2F33AB")
52 | (purple-1 "#BB99BB") (purple-2 "#8856D2") (purple-3 "#BE73FD")
53 | (green-1 "#144212") (green-2 "#8CFF8C"))
54 | (custom-theme-set-faces
55 | 'birds-of-paradise-plus
56 |
57 | ;; Basics
58 | `(default ((t (:background ,brown-1 :foreground ,white-1))))
59 | `(cursor ((t (:foreground ,brown-2 :background ,white-1))))
60 | `(highlight ((t (:background ,black-1 :foreground ,white-1))))
61 | `(hl-line ((t (:background ,brown-7))))
62 | `(region ((t (:background ,brown-4))))
63 | `(escape-glyph ((t (:foreground ,purple-3))))
64 | `(minibuffer-prompt ((t (:foreground ,blue-2)))) ;todo
65 |
66 | ;; Font-lock stuff
67 | `(font-lock-builtin-face ((t (:foreground ,blue-2))))
68 | `(font-lock-constant-face ((t (:foreground ,blue-2))))
69 | `(font-lock-comment-face ((t (:italic t :foreground ,brown-2))))
70 | `(font-lock-doc-face ((t (:foreground ,brown-2))))
71 | `(font-lock-doc-string-face ((t (:foreground ,brown-2))))
72 | `(font-lock-function-name-face ((t (:foreground ,yellow-2))))
73 | `(font-lock-keyword-face ((t (:foreground ,orange-1))))
74 | `(font-lock-negation-char-face ((t (:foreground ,blue-1))))
75 | `(font-lock-preprocessor-face ((t (:foreground ,red-4))))
76 | `(font-lock-string-face ((t (:foreground ,yellow-1))))
77 | `(font-lock-type-face ((t (:bold t :foreground ,yellow-2))))
78 | `(font-lock-variable-name-face ((t (:foreground ,blue-1))))
79 | `(font-lock-warning-face ((t (:background ,red-1 :foreground "white"))))
80 |
81 | ;; UI related
82 | `(link ((t (:foreground ,yellow-1))))
83 | `(button ((t (:foreground ,yellow-1 :background ,blue-1 :weight bold :underline t))))
84 |
85 | `(mode-line ((t (:background ,blue-5 :foreground ,white-1 :box nil))))
86 | `(powerline-active1 ((t (:background ,blue-4 :foreground ,white-3 :box nil))))
87 | `(powerline-active2 ((t (:background ,gray-1 :foreground ,white-2 :box nil))))
88 |
89 | `(mode-line-inactive ((t (:background ,brown-4 :foreground ,brown-5 :box nil))))
90 | `(powerline-inactive1 ((t (:background ,brown-6 :foreground ,brown-5 :box nil))))
91 | `(powerline-inactive2 ((t (:background ,brown-4 :foreground ,brown-5 :box nil))))
92 |
93 | `(vertical-border ((t (:foreground ,brown-4))))
94 | `(fringe ((t (:background ,brown-7 :foreground ,white-3))))
95 |
96 | ;; Linum
97 | `(linum ((t (:background ,brown-1 :foreground ,white-3))))
98 |
99 | ;; show-paren
100 | `(show-paren-match ((t (:background ,brown-5))))
101 | `(show-paren-mismatch ((t (:inherit font-lock-warning-face))))
102 |
103 | ;; ido
104 | `(ido-only-match ((t (:foreground ,orange-1))))
105 | `(ido-subdir ((t (:foreground ,yellow-2))))
106 |
107 | ;; highlight-indentation-mode
108 | `(highlight-indentation-face ((t (:background ,brown-3))))
109 | `(highlight-indentation-current-column-face ((t (:background ,brown-4))))
110 |
111 | ;; whitespace-mode
112 | `(whitespace-empty ((t (:background ,yellow-2))))
113 | `(whitespace-hspace ((t (:foreground ,brown-4))))
114 | `(whitespace-indentation ((t (:foreground ,brown-4))))
115 | `(whitespace-line ((t (:background ,gray-1))))
116 | `(whitespace-newline ((t (:foreground ,brown-4))))
117 | `(whitespace-space ((t (:foreground ,brown-4))))
118 | `(whitespace-space-after-tab ((t (:foreground ,brown-4))))
119 | `(whitespace-tab ((t (:foreground ,brown-4))))
120 | `(whitespace-trailing ((t (:background ,red-3))))
121 |
122 | ;; flyspell-mode
123 | `(flyspell-incorrect ((t (:underline ,red-6))))
124 | `(flyspell-duplicate ((t (:underline ,red-6))))
125 |
126 | ;; magit
127 | `(magit-diff-add ((t (:foreground ,green-2))))
128 | `(magit-diff-del ((t (:foreground ,red-7))))
129 | `(magit-item-highlight ((t (:background ,brown-6))))
130 |
131 | ;; ECB
132 | `(ecb-default-highlight-face ((t (:background ,red-1))))
133 |
134 | ;; ElScreen
135 | `(elscreen-tab-background-face ((t (:background ,brown-3))))
136 | `(elscreen-tab-control-face ((t (:background ,brown-2 :foreground ,white-1 :underline nil))))
137 | `(elscreen-tab-current-screen-face ((t (:background ,brown-2 :foreground ,white-1))))
138 | `(elscreen-tab-other-screen-face ((t (:background ,brown-3 :foreground ,white-1 :underline nil))))
139 |
140 | ;; column-marker-mode
141 | `(column-marker-1 ((t (:background ,brown-4))))
142 |
143 | ;; rainbow-delimiters
144 | `(rainbow-delimiters-depth-1-face ((t (:foreground ,purple-2))))
145 | `(rainbow-delimiters-depth-2-face ((t (:foreground ,yellow-2))))
146 | `(rainbow-delimiters-depth-3-face ((t (:foreground ,blue-2))))
147 | `(rainbow-delimiters-depth-4-face ((t (:foreground ,red-3))))
148 | `(rainbow-delimiters-depth-5-face ((t (:foreground ,green-2))))
149 | `(rainbow-delimiters-depth-6-face ((t (:foreground ,purple-3))))
150 | `(rainbow-delimiters-depth-7-face ((t (:foreground ,yellow-3))))
151 | `(rainbow-delimiters-depth-8-face ((t (:foreground ,blue-3))))
152 | `(rainbow-delimiters-depth-9-face ((t (:foreground ,red-4))))
153 | `(rainbow-delimiters-depth-10-face ((t (:foreground ,orange-1))))
154 | `(rainbow-delimiters-depth-11-face ((t (:foreground ,blue-4))))
155 | `(rainbow-delimiters-depth-12-face ((t (:foreground ,red-5))))
156 |
157 | ;; org-mode
158 | `(org-document-title ((t (:foreground ,blue-4 :background ,brown-1 :weight bold :height 1.5))))
159 | `(org-document-info ((t (:foreground ,blue-4 :background ,brown-1 :weight bold))))
160 | `(org-document-info-keyword ((t (:foreground ,gray-1 :background ,brown-1))))
161 | `(org-agenda-date-today
162 | ((t (:foreground ,orange-2 :slant italic :weight bold))) t)
163 | `(org-agenda-structure
164 | ((t (:inherit font-lock-comment-face))))
165 | `(org-archived ((t (:slant italic))))
166 | `(org-checkbox ((t (:background ,gray-1 :foreground ,brown-1
167 | :box (:line-width 1 :style released-button)))))
168 | `(org-date ((t (:foreground ,blue-4 :underline t))))
169 | `(org-done ((t (:bold t :weight bold :foreground ,green-2
170 | :box (:line-width 1 :style none)))))
171 | `(org-todo ((t (:bold t :foreground ,red-3 :weight bold
172 | :box (:line-width 1 :style none)))))
173 | `(org-level-1 ((t (:foreground ,blue-4 :height 1.3 :weight bold))))
174 | `(org-level-2 ((t (:foreground ,yellow-2 :height 1.2 :weight bold))))
175 | `(org-level-3 ((t (:foreground ,purple-2 :height 1.1 :weight bold))))
176 | `(org-level-4 ((t (:foreground ,red-7))))
177 | `(org-level-5 ((t (:foreground ,purple-1))))
178 | `(org-level-6 ((t (:foreground ,yellow-1))))
179 | `(org-level-7 ((t (:foreground ,red-5))))
180 | `(org-level-8 ((t (:foreground ,blue-2))))
181 | `(org-link ((t (:foreground ,blue-2 :underline t))))
182 | `(org-tag ((t (:bold t :weight bold))))
183 | `(org-column ((t (:background ,yellow-3 :foreground ,brown-1))))
184 | `(org-column-title ((t (:background ,yellow-3 :underline t :weight bold))))
185 | `(org-block ((t (:foreground ,brown-2 :background ,brown-6))))
186 | `(org-block-begin-line
187 | ((t (:foreground ,blue-3 :underline t :background ,brown-4))))
188 | `(org-block-background ((t (:background ,brown-6))))
189 | `(org-block-end-line
190 | ((t (:foreground ,blue-3 :underline t :background ,brown-4))))
191 |
192 | ;; Misc.
193 | `(gnus-group-news-1 ((t (:foreground ,yellow-1 :weight bold))))
194 | `(gnus-group-news-1-empty ((t (:foreground ,yellow-1))))
195 | `(gnus-group-news-2 ((t (:foreground ,orange-1 :weight bold))))
196 | `(gnus-group-news-2-empty ((t (:foreground ,orange-1))))
197 | `(gnus-group-news-3 ((t (:foreground ,red-3 :weight bold))))
198 | `(gnus-group-news-3-empty ((t (:foreground ,red-3))))
199 | `(gnus-group-news-4 ((t (:foreground ,purple-1 :weight bold))))
200 | `(gnus-group-news-4-empty ((t (:foreground ,purple-1))))
201 | `(gnus-group-news-5 ((t (:foreground ,blue-1 :weight bold))))
202 | `(gnus-group-news-5-empty ((t (:foreground ,blue-1))))
203 | `(gnus-group-news-6 ((t (:foreground ,blue-2 :weight bold))))
204 | `(gnus-group-news-6-empty ((t (:foreground ,blue-2))))
205 | `(gnus-group-news-low ((t (:foreground ,brown-2 :italic t))))
206 | `(gnus-group-news-low-empty ((t (:foreground ,brown-2))))
207 | `(gnus-group-mail-1 ((t (:foreground ,yellow-1 :weight bold))))
208 | `(gnus-group-mail-1-empty ((t (:foreground ,yellow-1))))
209 | `(gnus-group-mail-2 ((t (:foreground ,orange-1 :weight bold))))
210 | `(gnus-group-mail-2-empty ((t (:foreground ,orange-1 :weight bold))))
211 | `(gnus-group-mail-3 ((t (:foreground ,red-3 :weight bold))))
212 | `(gnus-group-mail-3-empty ((t (:foreground ,red-3))))
213 | `(gnus-group-mail-low ((t (:foreground ,brown-2 :italic t))))
214 | `(gnus-group-mail-low-empty ((t (:foreground ,brown-2))))
215 | `(gnus-header-content ((t (:weight normal :foreground ,yellow-1))))
216 | `(gnus-header-from ((t (:foreground ,yellow-1))))
217 | `(gnus-header-subject ((t (:foreground ,red-3))))
218 | `(gnus-header-name ((t (:foreground ,blue-2))))
219 | `(gnus-header-newsgroups ((t (:foreground ,yellow-2))))
220 | `(message-header-name ((t (:foreground ,orange-1))))
221 | `(message-header-cc ((t (:foreground ,brown-2))))
222 | `(message-header-other ((t (:foreground ,brown-2))))
223 | `(message-header-subject ((t (:foreground ,white-1))))
224 | `(message-header-to ((t (:foreground ,white-1))))
225 | `(message-cited-text ((t (:foreground ,yellow-2))))
226 | `(message-separator ((t (:foreground ,yellow-2))))
227 | `(nxml-comment-content ((t (:inherit 'font-lock-comment-face))))
228 | `(nxml-tag-delimiter ((t (:foreground ,yellow-3))))
229 | `(nxml-processing-instruction-target ((t (:foreground ,brown-2))))
230 | `(nxml-entity-ref-delimiter ((t (:foreground ,blue-2))))
231 | `(nxml-entity-ref-name ((t (:foreground ,blue-2))))
232 | `(nxml-element-local-name ((t (:foreground ,yellow-3))))
233 | `(nxml-cdata-section-content ((t (:foreground ,red-3))))
234 | `(nxml-attribute-local-name ((t (:foreground ,orange-1))))
235 | `(nxml-attribute-value ((t (:foreground ,yellow-1)))))
236 | (custom-theme-set-variables
237 | 'birds-of-paradise-plus
238 |
239 | ;; Fill Column Indicator mode
240 | `(fci-rule-color ,brown-1) ;; renders much brighter for some reason
241 | `(fci-rule-character-color ,brown-1)
242 |
243 | ;; Misc.
244 | `(ansi-color-names-vector
245 | ;; black, red, green, yellow, blue, magenta, cyan, white
246 | [,black-1 ,red-2 ,green-1 ,yellow-4 ,blue-3 ,purple-3 ,blue-4 ,white-2])
247 | `(ansi-term-color-vector
248 | ;; [unspecified "black" "red3" "green3" "yellow3" "blue2" "magenta3" "cyan3" "white"]
249 | [unspecified ,black-1 ,red-2 ,green-1 ,yellow-4 ,blue-3 ,purple-3 ,blue-4 ,white-2])))
250 |
251 |
252 | ;;;###autoload
253 | (and load-file-name
254 | (boundp 'custom-theme-load-path)
255 | (add-to-list 'custom-theme-load-path
256 | (file-name-as-directory (file-name-directory load-file-name))))
257 |
258 | (provide-theme 'birds-of-paradise-plus)
259 |
260 | ;;; birds-of-paradise-plus-theme.el ends here
261 |
--------------------------------------------------------------------------------