naquadah-theme.el 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661
  1. ;;; naquadah-theme.el --- A theme based on Tango color set
  2. ;; Copyright (C) 2011-2012 Free Software Foundation, Inc
  3. ;; Authors: Julien Danjou <julien@danjou.info>
  4. ;; This file is NOT part of GNU Emacs.
  5. ;; GNU Emacs is free software: you can redistribute it and/or modify
  6. ;; it under the terms of the GNU General Public License as published by
  7. ;; the Free Software Foundation, either version 3 of the License, or
  8. ;; (at your option) any later version.
  9. ;; GNU Emacs is distributed in the hope that it will be useful,
  10. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. ;; GNU General Public License for more details.
  13. ;; You should have received a copy of the GNU General Public License
  14. ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
  15. ;;; Code:
  16. (deftheme naquadah
  17. "A theme based on Tango color set.")
  18. ;; We want the face to be created even if they do not exist.
  19. (put 'naquadah 'theme-immediate t)
  20. ;; These colors are stolen from Tango.
  21. (defvar naquadah-colors
  22. '((((class color) (min-colors 65535))
  23. (aluminium-1 . "#eeeeec")
  24. (aluminium-2 . "#d3d7cf")
  25. (aluminium-3 . "#babdb6")
  26. (aluminium-4 . "#888a85")
  27. (aluminium-5 . "#555753")
  28. (aluminium-6 . "#2e3436")
  29. (butter-1 . "#fce94f")
  30. (butter-2 . "#edd400")
  31. (butter-3 . "#c4a000")
  32. (orange-1 . "#fcaf3e")
  33. (orange-2 . "#f57900")
  34. (orange-3 . "#ce5c00")
  35. (chocolate-1 . "#e9b96e")
  36. (chocolate-2 . "#c17d11")
  37. (chocolate-3 . "#9f5902")
  38. (chameleon-1 . "#8ae234")
  39. (chameleon-2 . "#73d216")
  40. (chameleon-3 . "#4e9a06")
  41. (sky-blue-1 . "#729fcf")
  42. (sky-blue-2 . "#3465a4")
  43. (sky-blue-3 . "#204a87")
  44. (plum-1 . "#ad7fa8")
  45. (plum-2 . "#75507b")
  46. (plum-3 . "#5c3566")
  47. (scarlet-red-1 . "#ef2929")
  48. (scarlet-red-2 . "#cc0000")
  49. (scarlet-red-3 . "#a40000")
  50. (background . "#262B2C")
  51. (black . "#0c191C")
  52. (gradient-1 . "#729fcf") ;; sky-blue-1
  53. (gradient-2 . "#8ae234") ;; chameleon-1
  54. (gradient-3 . "#fce94f") ;; butter-1
  55. (gradient-4 . "#ad7fa8") ;; plum-1
  56. (gradient-5 . "#e9b96e") ;; chocolate-1
  57. (gradient-6 . "#fcaf3e") ;; orange-1
  58. (gradient-7 . "#3465a4") ;; sky-blue-2
  59. (gradient-8 . "#73d216") ;; chameleon-2
  60. (gradient-9 . "#f57900") ;; orange-2
  61. (gradient-10 . "#75507b") ;; plum-2
  62. (gradient-11 . "#c17d11") ;; chocolate-2
  63. )
  64. (((class color) (min-colors 256))
  65. (aluminium-1 . "color-255")
  66. (aluminium-2 . "color-253")
  67. (aluminium-3 . "color-251")
  68. (aluminium-4 . "color-245")
  69. (aluminium-5 . "color-240")
  70. (aluminium-6 . "color-235")
  71. (butter-1 . "color-221")
  72. (butter-2 . "color-220")
  73. (butter-3 . "color-178")
  74. (orange-1 . "color-214")
  75. (orange-2 . "color-208")
  76. (orange-3 . "color-130")
  77. (chocolate-1 . "color-180")
  78. (chocolate-2 . "color-172")
  79. (chocolate-3 . "color-94")
  80. (chameleon-1 . "color-82")
  81. (chameleon-2 . "color-76")
  82. (chameleon-3 . "color-34")
  83. (sky-blue-1 . "color-117")
  84. (sky-blue-2 . "color-63")
  85. (sky-blue-3 . "color-24")
  86. (plum-1 . "color-176")
  87. (plum-2 . "color-96")
  88. (plum-3 . "color-54")
  89. (scarlet-red-1 . "color-196")
  90. (scarlet-red-2 . "color-160")
  91. (scarlet-red-3 . "color-124")
  92. (background . "color-234")
  93. (black . "color-16")
  94. (gradient-1 . "color-117") ;; sky-blue-1
  95. (gradient-2 . "color-82") ;; chameleon-1
  96. (gradient-3 . "color-221") ;; butter-1
  97. (gradient-4 . "color-176") ;; plum-1
  98. (gradient-5 . "color-180") ;; chocolate-1
  99. (gradient-6 . "color-214") ;; orange-1
  100. (gradient-7 . "color-63") ;; sky-blue-2
  101. (gradient-8 . "color-76") ;; chameleon-2
  102. (gradient-9 . "color-208") ;; orange-2
  103. (gradient-10 . "color-96") ;; plum-2
  104. (gradient-11 . "color-172") ;; chocolate-2
  105. )
  106. (((class color) (min-colors 88))
  107. (aluminium-1 . "color-87")
  108. (aluminium-2 . "color-86")
  109. (aluminium-3 . "color-85")
  110. (aluminium-4 . "color-84")
  111. (aluminium-5 . "color-82")
  112. (aluminium-6 . "color-80")
  113. (butter-1 . "color-77")
  114. (butter-2 . "color-76")
  115. (butter-3 . "color-72")
  116. (orange-1 . "color-72")
  117. (orange-2 . "color-68")
  118. (orange-3 . "color-68")
  119. (chocolate-1 . "color-73")
  120. (chocolate-2 . "color-68")
  121. (chocolate-3 . "color-52")
  122. (chameleon-1 . "color-60")
  123. (chameleon-2 . "color-44")
  124. (chameleon-3 . "color-40")
  125. (sky-blue-1 . "color-43")
  126. (sky-blue-2 . "color-22")
  127. (sky-blue-3 . "color-22")
  128. (plum-1 . "color-54")
  129. (plum-2 . "color-37")
  130. (plum-3 . "color-33")
  131. (scarlet-red-1 . "color-64")
  132. (scarlet-red-2 . "color-64")
  133. (scarlet-red-3 . "color-48")
  134. (background . "color-80")
  135. (black . "color-16")
  136. (gradient-1 . "color-43") ;; sky-blue-1
  137. (gradient-2 . "color-60") ;; chameleon-1
  138. (gradient-3 . "color-77") ;; butter-1
  139. (gradient-4 . "color-54") ;; plum-1
  140. (gradient-5 . "color-73") ;; chocolate-1
  141. (gradient-6 . "color-72") ;; orange-1
  142. (gradient-7 . "color-22") ;; sky-blue-2
  143. (gradient-8 . "color-44") ;; chameleon-2
  144. (gradient-9 . "color-68") ;; orange-2
  145. (gradient-10 . "color-37") ;; plum-2
  146. (gradient-11 . "color-68") ;; chocolate-2
  147. )
  148. (t
  149. (aluminium-1 . "white")
  150. (aluminium-2 . "white")
  151. (aluminium-3 . "white")
  152. (aluminium-4 . "white")
  153. (aluminium-5 . "white")
  154. (aluminium-6 . "white")
  155. (butter-1 . "yellow")
  156. (butter-2 . "yellow")
  157. (butter-3 . "yellow")
  158. (orange-1 . "yellow")
  159. (orange-2 . "yellow")
  160. (orange-3 . "yellow")
  161. (chocolate-1 . "yellow")
  162. (chocolate-2 . "yellow")
  163. (chocolate-3 . "yellow")
  164. (chameleon-1 . "green")
  165. (chameleon-2 . "green")
  166. (chameleon-3 . "green")
  167. (sky-blue-1 . "blue")
  168. (sky-blue-2 . "blue")
  169. (sky-blue-3 . "blue")
  170. (plum-1 . "magenta")
  171. (plum-2 . "magenta")
  172. (plum-3 . "magenta")
  173. (scarlet-red-1 . "red")
  174. (scarlet-red-2 . "red")
  175. (scarlet-red-3 . "red")
  176. (background . "black")
  177. (black . "black")
  178. (gradient-1 . "blue") ;; sky-blue-1
  179. (gradient-2 . "green") ;; chameleon-1
  180. (gradient-3 . "yellow") ;; butter-1
  181. (gradient-4 . "yellow") ;; plum-1
  182. (gradient-5 . "yellow") ;; chocolate-1
  183. (gradient-6 . "yellow") ;; orange-1
  184. (gradient-7 . "blue") ;; sky-blue-2
  185. (gradient-8 . "green") ;; chameleon-2
  186. (gradient-9 . "red") ;; orange-2
  187. (gradient-10 . "yellow") ;; plum-2
  188. (gradient-11 . "yellow") ;; chocolate-2
  189. ))
  190. "The color values for each color name for a given
  191. condition. The format is: ((condition) (key . value) (key
  192. . value) ...)")
  193. (defun naquadah-get-colors (name)
  194. (cdr
  195. (assoc
  196. name
  197. (car naquadah-colors))))
  198. (defun naquadah-simple-face-to-multiple (face)
  199. (let ((spec (car face))
  200. (lst (cadr face)))
  201. (list spec (mapcar
  202. (lambda (entry)
  203. (let ((color-condition (car entry)))
  204. (list color-condition
  205. (naquadah-color-list-expand (cdr entry) lst))))
  206. naquadah-colors))))
  207. (defun naquadah-color-list-expand (color-alist lst)
  208. (let ((result '()))
  209. (while (car lst)
  210. (let ((key (car lst))
  211. (val (cadr lst)))
  212. (if (memq key '(:foreground :background :color :overline :strike-through))
  213. (setq val (or (cdr (assq val color-alist)) val)))
  214. (if (listp val)
  215. (setq val (naquadah-color-list-expand entry val)))
  216. (setq result (append result `(,key ,val))))
  217. (setq lst (cddr lst)))
  218. result))
  219. (defun naquadah-properties-get (lst prop)
  220. (cadr (assoc prop lst)))
  221. (defun naquadah-apply-unspecified-properties (inherit-props props)
  222. (while (car inherit-props)
  223. (let ((i-key (car inherit-props)))
  224. (if (not (plist-member props i-key))
  225. (plist-put props i-key 'unspecified)))
  226. (setq inherit-props (cddr inherit-props))))
  227. (defun naquadah-append-unspecified-properties (lst)
  228. (dolist (elt lst)
  229. (let ((key (car elt))
  230. (props (cadr elt)))
  231. (when (plist-member props :inherit)
  232. (let ((inherit-prop (plist-get props :inherit)))
  233. (if (listp inherit-prop)
  234. (dolist (i inherit-prop)
  235. (naquadah-apply-unspecified-properties (naquadah-properties-get lst i) props))
  236. (naquadah-apply-unspecified-properties (naquadah-properties-get lst inherit-prop) props))))))
  237. lst)
  238. (defun naquadah-theme-set-faces (theme &rest args)
  239. (apply 'custom-theme-set-faces
  240. (append (list theme)
  241. (mapcar 'naquadah-simple-face-to-multiple
  242. (naquadah-append-unspecified-properties args)))))
  243. (naquadah-theme-set-faces
  244. 'naquadah
  245. '(default (:background background :foreground aluminium-1))
  246. '(shadow (:foreground aluminium-3))
  247. '(secondary-selection (:background sky-blue-3))
  248. '(cursor (:background scarlet-red-3))
  249. '(hl-line (:background aluminium-5))
  250. '(trailing-whitespace (:background scarlet-red-1))
  251. '(escape-glyph (:foreground chameleon-1))
  252. '(highlight (:background scarlet-red-2))
  253. '(fringe (:background black))
  254. '(mode-line (:foreground aluminium-1 :background black
  255. :box (:line-width 1 :color aluminium-6)))
  256. '(mode-line-inactive (:foreground aluminium-5 :background "#1F2427"
  257. :box (:line-width 1 :color background)))
  258. '(mode-line-buffer-id (:bold t :foreground orange-2))
  259. '(header-line (:foreground aluminium-1 :background black
  260. :box (:line-width 1 :color aluminium-6)))
  261. '(region (:background black))
  262. '(link (:foreground sky-blue-1))
  263. '(link-visited (:inherit link :foreground plum-1))
  264. '(match (:bold t :background chocolate-1 :foreground black))
  265. '(tooltip (:inherit variable-pitch :foreground aluminium-1 :background black))
  266. '(bold (:bold t))
  267. '(italic (:italic t))
  268. '(warning (:bold t :foreground orange-1))
  269. '(error (:bold t :foreground scarlet-red-1))
  270. '(success (:bold t :foreground chameleon-1))
  271. '(font-lock-builtin-face (:foreground sky-blue-1))
  272. '(font-lock-keyword-face (:inherit font-lock-builtin-face :bold t))
  273. '(font-lock-comment-face (:inherit shadow :italic t))
  274. '(font-lock-comment-delimiter-face (:inherit font-lock-comment-face))
  275. '(font-lock-constant-face (:foreground chameleon-2))
  276. '(font-lock-type-face (:inherit font-lock-constant-face :bold t))
  277. '(font-lock-doc-face (:inherit shadow))
  278. '(font-lock-string-face (:foreground plum-1))
  279. '(font-lock-variable-name-face (:foreground scarlet-red-1))
  280. '(font-lock-warning-face (:inherit warning))
  281. '(font-lock-function-name-face (:foreground butter-2 :bold t))
  282. '(auto-dim-other-buffers-face (:background "#1F2427"))
  283. '(comint-highlight-prompt ())
  284. '(isearch (:background orange-3 :foreground background))
  285. '(isearch-fail (:background scarlet-red-2))
  286. '(lazy-highlight (:background chocolate-1 :foreground background))
  287. '(show-paren-match-face (:background chameleon-3))
  288. '(show-paren-mismatch-face (:background plum-3))
  289. '(minibuffer-prompt (:foreground sky-blue-1 :bold t))
  290. ;; '(widget-mouse-face ((t (:bold t :foreground aluminium-1 :background scarlet-red-2))))
  291. ;; '(widget-field ((t (:foreground orange-1 :background "gray30"))))
  292. ;; '(widget-single-line-field ((t (:foreground orange-1 :background "gray30"))))
  293. '(custom-group-tag (:bold t :foreground orange-2 :height 1.3))
  294. '(custom-variable-tag (:bold t :foreground butter-2 :height 1.1))
  295. '(custom-face-tag (:bold t :foreground butter-2 :height 1.1))
  296. '(custom-state (:foreground sky-blue-1))
  297. ;; '(custom-button ((t :background "gray50" :foreground black
  298. ;; :box (:line-width 1 :style released-button))))
  299. ;; '(custom-variable-button ((t (:inherit custom-button))))
  300. ;; '(custom-button-mouse ((t (:inherit custom-button :background "gray60"))))
  301. ;; '(custom-button-unraised ((t (:background "gray50" :foreground "black"))))
  302. ;; '(custom-button-mouse-unraised ((t (:inherit custom-button-unraised :background "gray60"))))
  303. ;; '(custom-button-pressed ((t (:inherit custom-button :box (:style pressed-button)))))
  304. ;; '(custom-button-mouse-pressed-unraised ((t (:inherit custom-button-unraised :background "gray60"))))
  305. '(custom-documentation (:inherit font-lock-comment-face))
  306. ;; Gnus
  307. '(gnus-cite-1 (:foreground gradient-1))
  308. '(gnus-cite-2 (:foreground gradient-2))
  309. '(gnus-cite-3 (:foreground gradient-3))
  310. '(gnus-cite-4 (:foreground gradient-4))
  311. '(gnus-cite-5 (:foreground gradient-5))
  312. '(gnus-cite-6 (:foreground gradient-6))
  313. '(gnus-cite-7 (:foreground gradient-7))
  314. '(gnus-cite-8 (:foreground gradient-8))
  315. '(gnus-cite-9 (:foreground gradient-9))
  316. '(gnus-cite-10 (:foreground gradient-10))
  317. '(gnus-cite-11 (:foreground gradient-11))
  318. '(gnus-header-name (:bold t :foreground sky-blue-1))
  319. '(gnus-header-from (:bold t))
  320. '(gnus-header-subject (:foreground butter-1))
  321. '(gnus-header-content (:italic t :foreground aluminium-2))
  322. '(gnus-header-newsgroups (:inherit gnus-header-from))
  323. '(gnus-signature (:inherit font-lock-comment-face))
  324. '(gnus-summary-cancelled (:foreground plum-1 :strike-through plum-3))
  325. '(gnus-summary-high-ancient (:inherit gnus-summary-high-read))
  326. '(gnus-summary-normal-ancient (:inherit gnus-summary-normal-read))
  327. '(gnus-summary-low-ancient (:inherit gnus-summary-low-unread))
  328. '(gnus-summary-high-read (:inherit gnus-summary-normal-read :background sky-blue-3
  329. :box (:line-width 1 :color sky-blue-3)))
  330. '(gnus-summary-normal-read (:foreground aluminium-1 :italic t))
  331. '(gnus-summary-low-read (:inherit gnus-summary-normal-read))
  332. '(gnus-summary-high-ticked (:inherit gnus-summary-normal-ticked))
  333. '(gnus-summary-normal-ticked (:background scarlet-red-3
  334. :box (:line-width 1 :color scarlet-red-2)))
  335. '(gnus-summary-low-ticked (:inherit gnus-summary-normal-ticked))
  336. '(gnus-summary-high-unread (:inherit gnus-summary-normal-unread
  337. :background sky-blue-2
  338. :box (:line-width 1 :color sky-blue-2)))
  339. '(gnus-summary-normal-unread (:foreground aluminium-1))
  340. '(gnus-summary-low-unread (:foreground aluminium-1))
  341. '(gnus-summary-selected (:background butter-3 :foreground black))
  342. '(gnus-button (:bold t))
  343. '(spam (:foreground orange-2 :strike-through orange-3))
  344. ;; Message
  345. '(message-header-newsgroups (:inherit gnus-header-to))
  346. '(message-header-name (:inherit gnus-header-name))
  347. '(message-header-to (:inherit gnus-header-to))
  348. '(message-header-other (:inherit gnus-header-content))
  349. '(message-header-subject (:inherit gnus-header-subject))
  350. '(message-header-cc (:foreground aluminium-2))
  351. '(message-header-xheader (:foreground aluminium-4))
  352. '(message-separator (:foreground sky-blue-3))
  353. '(message-mml (:foreground chameleon-1))
  354. ;; org-mode
  355. '(org-level-1 (:bold t :foreground gradient-1 :height 1.3))
  356. '(org-level-2 (:bold t :foreground gradient-2 :height 1.2))
  357. '(org-level-3 (:bold t :foreground gradient-3 :height 1.1))
  358. '(org-level-4 (:bold t :foreground gradient-4))
  359. '(org-level-5 (:bold t :foreground gradient-5))
  360. '(org-level-6 (:bold t :foreground gradient-6))
  361. '(org-level-7 (:bold t :foreground gradient-7))
  362. '(org-level-8 (:bold t :foreground gradient-8))
  363. '(org-column ())
  364. '(org-mode-line-clock (nil))
  365. '(org-mode-line-clock-overrun (:foreground scarlet-red-1))
  366. '(org-document-title (:bold t :foreground sky-blue-1 :height 1.4))
  367. '(org-document-info (:foreground sky-blue-1 :italic t))
  368. '(org-todo (:bold t :foreground scarlet-red-2))
  369. '(org-done (:bold t :foreground chameleon-3))
  370. '(org-hide (:foreground background))
  371. '(org-scheduled (:foreground chameleon-2))
  372. '(org-scheduled-previously (:foreground orange-2))
  373. '(org-scheduled-today (:foreground chameleon-1))
  374. '(org-date (:foreground chocolate-1))
  375. '(org-special-keyword (:foreground scarlet-red-1 :bold t))
  376. '(org-agenda-done ())
  377. '(org-time-grid (:inherit shadow))
  378. '(org-agenda-date (:foreground butter-1 :height 1.2))
  379. '(org-agenda-date-today (:inherit org-agenda-date :foreground butter-2 :weight bold :height 1.3))
  380. '(org-agenda-date-tc (:inherit org-agenda-date :foreground butter-3))
  381. '(org-agenda-date-weekend (:inherit org-agenda-date :foreground scarlet-red-1 :weight bold))
  382. '(org-habit-clear-future-face (:background sky-blue-3))
  383. '(org-habit-clear-face (:background sky-blue-2))
  384. '(org-habit-ready-future-face (:background chameleon-3))
  385. '(org-habit-ready-face (:background chameleon-2 :foreground black))
  386. '(org-habit-alert-ready-future-face (:background orange-3))
  387. '(org-habit-overdue-face (:background scarlet-red-3))
  388. '(org-habit-overdue-future-face (:background scarlet-red-3))
  389. ;; egocentric-mode
  390. '(egocentric-face (:foreground scarlet-red-1 :weight bold))
  391. ;; erc
  392. '(erc-direct-msg-face (:inherit egocentric-face))
  393. '(erc-header-line (:inherit header-line))
  394. '(erc-input-face (:inherit shadow))
  395. '(erc-my-nick-face (:inherit egocentric-face))
  396. '(erc-notice-face (:foreground sky-blue-1))
  397. '(erc-prompt-face (:background black :foreground aluminium-1 :weight bold))
  398. '(erc-timestamp-face (:foreground aluminium-2 :weight bold))
  399. '(erc-pal-face (:foreground chameleon-1 :weight bold))
  400. '(erc-keyword-face (:foreground orange-1))
  401. '(erc-fool-face (:inherit shadow))
  402. '(erc-current-nick-face (:inherit egocentric-face))
  403. '(erc-inverse-face (:foreground black :background aluminium-2))
  404. '(fg:erc-color-face0 (:foreground aluminium-1))
  405. '(fg:erc-color-face1 (:foreground black))
  406. '(fg:erc-color-face2 (:foreground sky-blue-1))
  407. '(fg:erc-color-face3 (:foreground chameleon-2))
  408. '(fg:erc-color-face4 (:foreground scarlet-red-2))
  409. '(fg:erc-color-face5 (:foreground chocolate-2))
  410. '(fg:erc-color-face6 (:foreground plum-2))
  411. '(fg:erc-color-face7 (:foreground orange-2))
  412. '(fg:erc-color-face8 (:foreground butter-2))
  413. '(fg:erc-color-face8 (:foreground chameleon-3))
  414. '(fg:erc-color-face10 (:foreground sky-blue-2))
  415. '(fg:erc-color-face11 (:foreground "cyan"))
  416. '(fg:erc-color-face12 (:foreground sky-blue-3))
  417. '(fg:erc-color-face13 (:foreground plum-3))
  418. '(fg:erc-color-face14 (:foreground aluminium-2))
  419. '(fg:erc-color-face15 (:foreground aluminium-4))
  420. '(bg:erc-color-face0 (:background aluminium-1))
  421. '(bg:erc-color-face1 (:background black))
  422. '(bg:erc-color-face2 (:background sky-blue-1))
  423. '(bg:erc-color-face3 (:background chameleon-2))
  424. '(bg:erc-color-face4 (:background scarlet-red-2))
  425. '(bg:erc-color-face5 (:background chocolate-2))
  426. '(bg:erc-color-face6 (:background plum-2))
  427. '(bg:erc-color-face7 (:background orange-2))
  428. '(bg:erc-color-face8 (:background butter-2))
  429. '(bg:erc-color-face8 (:background chameleon-3))
  430. '(bg:erc-color-face10 (:background sky-blue-2))
  431. '(bg:erc-color-face11 (:background "cyan"))
  432. '(bg:erc-color-face12 (:background sky-blue-3))
  433. '(bg:erc-color-face13 (:background plum-3))
  434. '(bg:erc-color-face14 (:background aluminium-2))
  435. '(bg:erc-color-face15 (:background aluminium-4))
  436. '(which-func (:foreground sky-blue-1))
  437. '(dired-directory (:foreground sky-blue-1))
  438. '(dired-symlink (:bold t :foreground "cyan"))
  439. '(dired-marked (:bold t :foreground butter-1))
  440. '(mm-uu-extract (:background aluminium-6))
  441. ;; diff-mode
  442. '(diff-added (:foreground chameleon-2))
  443. '(diff-changed (:foreground orange-1))
  444. '(diff-removed (:foreground scarlet-red-1))
  445. '(diff-hunk-header (:bold t))
  446. '(diff-function (:foreground orange-1))
  447. '(diff-header (:background aluminium-6))
  448. '(diff-file-header (:foreground aluminium-1))
  449. ;; ediff-mode
  450. '(ediff-even-diff-A (:inherit diff-header))
  451. '(ediff-odd-diff-A (:background aluminium-5))
  452. '(ediff-even-diff-B (:inherit diff-header))
  453. '(ediff-odd-diff-B (:background aluminium-5))
  454. '(ediff-current-diff-A (:background "#553333"))
  455. '(ediff-current-diff-B (:background "#335533"))
  456. '(ediff-fine-diff-A (:background "#723030"))
  457. '(ediff-fine-diff-B (:background "#307030"))
  458. ;; magit
  459. '(magit-diff-add (:inherit diff-added))
  460. '(magit-diff-del (:inherit diff-removed))
  461. '(magit-diff-none (:inherit diff-context))
  462. '(magit-diff-hunk-header (:inherit (magit-header diff-hunk-header)))
  463. '(magit-diff-file-header (:inherit (magit-header diff-file-header)))
  464. '(magit-log-sha1 (:foreground scarlet-red-1))
  465. '(magit-log-graph (:foreground aluminium-2))
  466. '(magit-item-highlight (:background aluminium-6))
  467. '(magit-item-mark (:foreground orange-1))
  468. '(magit-log-tag-label (:background chameleon-3 :box t :foreground aluminium-6))
  469. '(magit-log-head-label-bisect-good (:background chameleon-2 :box t))
  470. '(magit-log-head-label-bisect-bad (:background scarlet-red-3 :box t))
  471. '(magit-log-head-label-remote (:foreground aluminium-6 :background butter-2 :box (:color butter-3)))
  472. '(magit-log-head-label-tags (:inherit (magit-log-tag-label)))
  473. '(magit-log-head-label-local (:foreground aluminium-1 :background sky-blue-2
  474. :box (:color sky-blue-3)))
  475. ;; git-commit-mode
  476. '(git-commit-summary-face (:bold t))
  477. '(git-commit-branch-face (:foreground orange-2 :bold t))
  478. '(git-commit-nonempty-second-line-face (:foreground scarlet-red-2))
  479. '(git-commit-comment-face (:inherit font-lock-comment-face))
  480. '(git-commit-known-pseudo-header-face (:inherit gnus-header-name-face))
  481. '(git-commit-pseudo-header-face (:inherit gnus-header-content))
  482. ;; makefile-mode
  483. '(makefile-space (:background plum-3))
  484. ;; mmm-mode
  485. '(mmm-default-submode-face (:background aluminium-6))
  486. ;; rainbow-delimiters
  487. '(rainbow-delimiters-depth-1-face (:foreground gradient-1))
  488. '(rainbow-delimiters-depth-2-face (:foreground gradient-2))
  489. '(rainbow-delimiters-depth-3-face (:foreground gradient-3))
  490. '(rainbow-delimiters-depth-4-face (:foreground gradient-4))
  491. '(rainbow-delimiters-depth-5-face (:foreground gradient-5))
  492. '(rainbow-delimiters-depth-6-face (:foreground gradient-6))
  493. '(rainbow-delimiters-depth-7-face (:foreground gradient-7))
  494. '(rainbow-delimiters-depth-8-face (:foreground gradient-8))
  495. '(rainbow-delimiters-depth-9-face (:foreground gradient-9))
  496. '(rainbow-delimiters-depth-10-face (:foreground gradient-10))
  497. '(rainbow-delimiters-depth-11-face (:foreground gradient-11))
  498. '(rainbow-delimiters-depth-12-face (:foreground gradient-1))
  499. '(rainbow-delimiters-unmatched-face (:foreground black :background butter-3))
  500. ;; rst-mode
  501. '(rst-level-1 (:foreground gradient-1 :background aluminium-6 :height 1.3))
  502. '(rst-level-2 (:foreground gradient-2 :background aluminium-6 :height 1.2))
  503. '(rst-level-3 (:foreground gradient-3 :background aluminium-6 :height 1.1))
  504. '(rst-level-4 (:foreground gradient-4 :background aluminium-6))
  505. '(rst-level-5 (:foreground gradient-5 :background aluminium-6))
  506. '(rst-level-6 (:foreground gradient-6 :background aluminium-6))
  507. ;; term-mode
  508. '(term-color-black (:foreground black :background black))
  509. '(term-color-red (:foreground scarlet-red-1 :background scarlet-red-1))
  510. '(term-color-green (:foreground chameleon-1 :background chameleon-1))
  511. '(term-color-yellow (:foreground butter-1 :background butter-1))
  512. '(term-color-blue (:foreground sky-blue-1 :background sky-blue-1))
  513. '(term-color-magenta (:foreground plum-1 :background plum-1))
  514. '(term-color-cyan (:foreground "cyan3" :background "cyan3"))
  515. '(term-color-white (:foreground aluminium-1 :background aluminium-1))
  516. ;; idle-highlight
  517. '(idle-highlight (:foreground aluminium-1 :background scarlet-red-3))
  518. ;; doc-mode
  519. '(doc-title-1-face (:foreground gradient-1 :bold t :height 1.3 :inherit variable-pitch))
  520. '(doc-title-2-face (:foreground gradient-2 :bold t :height 1.2 :inherit variable-pitch))
  521. '(doc-title-3-face (:foreground gradient-3 :bold t :height 1.1 :inherit variable-pitch))
  522. '(doc-title-4-face (:foreground gradient-4 :bold t :inherit variable-pitch))
  523. ;; markup-faces
  524. '(markup-gen-face (:foreground sky-blue-1))
  525. '(markup-title-0-face (:foreground gradient-1 :bold t :height 1.3 :inherit variable-pitch))
  526. '(markup-title-1-face (:foreground gradient-2 :bold t :height 1.2 :inherit variable-pitch))
  527. '(markup-title-2-face (:foreground gradient-3 :bold t :height 1.1 :inherit variable-pitch))
  528. '(markup-title-3-face (:foreground gradient-4 :bold t :inherit variable-pitch))
  529. '(markup-title-4-face (:foreground gradient-5 :bold t :inherit variable-pitch))
  530. '(markup-title-5-face (:foreground gradient-6 :bold t :inherit variable-pitch))
  531. '(markup-emphasis-face (:slant italic))
  532. '(markup-strong-face (:weight bold))
  533. '(markup-code-face (:inherit fixed-pitch))
  534. '(markup-verbatime-face (:background aluminium-6))
  535. '(markup-meta-face (:foreground aluminium-3))
  536. '(markup-meta-hide-face (:foreground aluminium-4 :height 0.8))
  537. '(markup-reference-face (:foreground sky-blue-1))
  538. '(markup-list-face (:background aluminium-6 :foreground orange-2))
  539. '(markup-secondary-text-face (:foreground scarlet-red-1 :height 0.8))
  540. '(markup-replacement-face (:foreground plum-2))
  541. '(markup-complex-replacement-face (:box (:line-width 2 :color plum-2)
  542. :foreground "white" :background plum-3))
  543. '(markup-verbatim-face (:inherit fixed-pitch))
  544. ;; flymake
  545. '(flymake-errline (:underline (:style wave :color scarlet-red-1)))
  546. '(flymake-warnline (:underline (:style wave :color orange-2)))
  547. ;; flyspell
  548. '(flyspell-incorrect (:underline (:style wave :color scarlet-red-1)))
  549. '(flyspell-duplicate (:underline (:style wave :color orange-2)))
  550. ;; git-gutter
  551. '(git-gutter:modified (:foreground orange-1))
  552. '(git-gutter:added (:foreground chameleon-1))
  553. '(git-gutter:deleted (:foreground scarlet-red-1))
  554. '(git-gutter:unchanged (:foreground butter-1))
  555. '(ido-first-match (:foreground orange-1 :bold t))
  556. '(ido-only-match (:foreground orange-1 :bold t))
  557. ;; helm
  558. '(helm-source-header (:inherit success))
  559. '(helm-visible-mark (:inherit region :foreground aluminium-3))
  560. '(helm-header (:inherit mode-line))
  561. '(helm-candidate-number (:inherit highlight))
  562. '(helm-selection (:inherit secondary-selection))
  563. '(helm-match (:inherit warning))
  564. '(helm-separator (:inherit message-separator))
  565. '(helm-action (:foreground sky-blue-1))
  566. '(helm-ff-directory (:foreground sky-blue-1 :background nil :underline nil))
  567. '(helm-ff-file (:inherit link :foreground plum-1 :underline nil))
  568. ;; jabber
  569. '(jabber-activity-face (:foreground scarlet-red-1 :weight bold))
  570. '(jabber-activity-personal-face (:foreground sky-blue-1 :weight bold))
  571. '(jabber-chat-error (:inherit error))
  572. '(jabber-chat-prompt-foreign (:foreground scarlet-red-1 :weight bold))
  573. '(jabber-chat-prompt-local (:foreground sky-blue-1 :weight bold))
  574. '(jabber-chat-prompt-system (:foreground chameleon-1 :weight bold))
  575. '(jabber-rare-time-face (:foreground chameleon-3 :underline t))
  576. '(jabber-roster-user-away (:foreground chameleon-3 :weight normal :slant italic))
  577. '(jabber-roster-user-chatty (:foreground orange-3 :weight bold :slant normal))
  578. '(jabber-roster-user-dnd (:foreground scarlet-red-1 :weight normal :slant italic))
  579. '(jabber-roster-user-error (:foreground scarlet-red-2 :weight light :slant italic))
  580. '(jabber-roster-user-offline (:foreground aluminium-4 :weight light :slant italic))
  581. '(jabber-roster-user-online (:foreground sky-blue-1 :weight bold :slant normal))
  582. '(jabber-roster-user-xa (:foreground plum-1 :weight normal :slant italic))
  583. '(jabber-title-large (:foreground sky-blue-1 :weight bold :height 1.4))
  584. '(jabber-title-medium (:weight bold :height 1.2))
  585. '(jabber-title-small (:weight bold :height 1.0)))
  586. ;;;###autoload
  587. (when (and (boundp 'custom-theme-load-path) load-file-name)
  588. (add-to-list 'custom-theme-load-path
  589. (file-name-as-directory (file-name-directory load-file-name))))
  590. (provide-theme 'naquadah)
  591. ;; Local Variables:
  592. ;; no-byte-compile: t
  593. ;; End:
  594. ;;; naquadah-theme.el ends here