├── .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 | preview 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 | --------------------------------------------------------------------------------