tron-theme.el 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. ;;; tron-theme.el --- A theme loosely based on Tron: Legacy colors
  2. ;; Copyright (C) 2012 Tom Willemsen <tom@ryuslash.org>
  3. ;; Author: Tom Willemsen <tom@ryuslash.org>
  4. ;; Created: Wed Jan 4 2012
  5. ;; Version: 12
  6. ;; Keywords: faces
  7. ;; URL: http://ryuslash.org/projects/tron-theme.html
  8. ;; This file is free software; you can redistribute it and/or
  9. ;; modify it under the terms of the GNU General Public License
  10. ;; as published by the Free Software Foundation; either version 3
  11. ;; of the License, or (at your option) any later version.
  12. ;; This file is distributed in the hope that it will be useful,
  13. ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. ;; GNU General Public License for more details.
  16. ;; You should have received a copy of the GNU General Public License
  17. ;; along with this file; If not, see <http://www.gnu.org/licenses/>.
  18. ;;; Commentary:
  19. ;; tron-theme is an Emacs theme that is loosely based on the colors
  20. ;; observed in the movie Tron: Legacy.
  21. ;;; Change Log:
  22. ;; 1 - Initial release.
  23. ;; 2 - Decrease size of the `org-level-*' faces.
  24. ;; 3 - Add `info-title-1' through `info-title-4', `info-xref' and
  25. ;; `info-xref-visited' faces.
  26. ;; 4 - Add `custom-button', `custom-button-mouse' and
  27. ;; `custom-button-pressed' faces.
  28. ;; 5 - Add `css-property' and `css-proprietary-property' faces.
  29. ;; 6 - Add `erc-default-face', `erc-input-face' and
  30. ;; `erc-nick-default-face' faces.
  31. ;; 7 - Change `mode-line', `mode-line-buffer-id' and
  32. ;; `mode-line-inactive' faces.
  33. ;; 8 - Add `region' face.
  34. ;; - Add riley's changes:
  35. ;; - Add `show-paren-match-face', `eshell-ls-archive-face',
  36. ;; `eshell-ls-backup-face', `eshell-ls-clutter-face',
  37. ;; `eshell-ls-directory-face', `eshell-ls-executable-face',
  38. ;; `eshell-ls-missing-face', `eshell-ls-product-face',
  39. ;; `eshell-ls-readonly-face', `eshell-ls-readonly-face',
  40. ;; `eshell-ls-special-face', `eshell-ls-symlink-face',
  41. ;; `eshell-ls-unreadable-face', `eshell-prompt-face',
  42. ;; `eshell-test-failed-face' and `eshell-test-ok-face' faces.
  43. ;; - Change `font-lock-comment-face' face.
  44. ;; 9 - Fix typo in `font-lock-variable-name-face' face.
  45. ;; - Add `magit-header', `magit-diff-add', `magit-diff-del',
  46. ;; `magit-diff-hunk-header', `magit-diff-file-header',
  47. ;; `magit-item-highlight' and `magit-item-mark' faces.
  48. ;; 10 - Add `rst-level-1-face' through `rst-level-6-face' faces.
  49. ;; 11 - Change `font-lock-warning-face', `header-line',
  50. ;; `jabber-chat-prompt-local' and `jabber-chat-text-local'
  51. ;; faces.
  52. ;; - Add header.
  53. ;; - Add local variables, enable `rainbow-mode'.
  54. ;; 12 - Remove quotes from :inherit properties.
  55. ;; - Explicitly set colors for `fringe'.
  56. ;;; Code:
  57. (deftheme tron
  58. "Create 2012-01-01")
  59. (custom-theme-set-variables
  60. 'tron
  61. '(powerline-active1 "#00779a")
  62. '(powerline-active2 "#00475a")
  63. '(linum-format "%6d") ;; Default 7i
  64. '(fringe-mode 10 nil (fringe))
  65. )
  66. (custom-theme-set-faces
  67. 'tron
  68. '(bold ((t (:foreground "#24c6e0" :weight bold))))
  69. '(bold-italic ((t (:inherit bold :slant italic))))
  70. '(cursor ((t (:background "#15abc3"))))
  71. '(default ((t (:background "#00080A" :foreground "#15abc3"))))
  72. ;'(fringe ((t (:background "#000000" :foreground "#15abc3"))))
  73. '(header-line ((t (:inherit mode-line))))
  74. ;'(linum ((t (:inherit default))))
  75. '(mouse ((t (:foreground "#e0c625"))))
  76. '(region ((t (:background "#e0c625" :foreground "#000000"))))
  77. ;'(show-paren-match-face ((t (:weight bold))))
  78. ;; Line Numbers (linum-mode) Default height 100
  79. '(linum ((t (:background "#00080A" :foreground "#005050" :height 70))))
  80. ;; Cursor
  81. ;'(cursor ((t (:foreground "#ffffff" :background "#013d4c"))))
  82. ;; Margin Fringes
  83. '(fringe ((t ( :background "#001214" :foreground "#006060" ))))
  84. ;; Others
  85. '(escape-glyph ;; Things like and other control chars.
  86. ((t (:foreground "#FF6600" :background "#011d2c"))))
  87. ;; column-marker
  88. '(column-marker-1 ((t (:background "#a3e8ef" :foreground "#000000"))))
  89. '(column-marker-2 ((t (:background "#55c3f8" :foreground "#000000"))))
  90. '(column-marker-3 ((t (:background "#f6faf9" :foreground "#000000"))))
  91. ;; css
  92. '(css-property ((t (:inherit font-lock-variable-name-face))))
  93. '(css-proprietary-property ((t (:inherit mouse))))
  94. ;; custom
  95. '(custom-button ((t (:inherit default :box (:line-width 1 :color "#15abc3")))))
  96. '(custom-button-mouse ((t (:inherit custom-button :box (:color "#e0c624")))))
  97. '(custom-button-pressed ((t (:inherit custom-button :box (:color "#05e4a5")))))
  98. ;; Eshell
  99. '(eshell-ls-archive-face ((t (:foreground "#029cdc" :bold t))))
  100. '(eshell-ls-backup-face ((t (:inherit font-lock-builtin-face :italic t))))
  101. '(eshell-ls-clutter-face ((t (:foreground "OrangeRed" :bold t))))
  102. '(eshell-ls-directory-face ((t (:foreground "#e0c625" :bold t))))
  103. '(eshell-ls-executable-face ((t (:foreground "#00815b"))))
  104. '(eshell-ls-missing-face ((t (:foreground "#e0c624" :bold t))))
  105. '(eshell-ls-product-face ((t (:foreground "OrangeRed"))))
  106. '(eshell-ls-readonly-face ((t (:foreground "#808080" :italic t))))
  107. '(eshell-ls-special-face ((t (:foreground "Mauve" :bold t))))
  108. '(eshell-ls-symlink-face ((t (:foreground "#035390" :bold t))))
  109. '(eshell-ls-unreadable-face ((t (:foreground "Grey30"))))
  110. '(eshell-prompt-face ((t (:foreground "#e0c625"))))
  111. '(eshell-test-failed-face ((t (:foreground "OrangeRed" :bold t))))
  112. '(eshell-test-ok-face ((t (:foreground "#05e4a5" :bold t))))
  113. ;; font-lock
  114. '(font-lock-builtin-face ((t (:foreground "#029cdc"))))
  115. '(font-lock-comment-delimiter-face ((t (:foreground "#2e3436" :weight bold))))
  116. '(font-lock-comment-face ((t (:foreground "#808080" :slant italic))))
  117. '(font-lock-constant-face ((t (:foreground "#029cdc"))))
  118. '(font-lock-doc-face ((t (:foreground "#00815b"))))
  119. '(font-lock-function-name-face ((t (:foreground "#e0c624" :bold t))))
  120. '(font-lock-keyword-face ((t (:inherit font-lock-builtin-face :weight bold))))
  121. '(font-lock-negation-char-face ((t (:foreground "#c3ab15"))))
  122. '(font-lock-preprocessor-face ((t (:foreground "#c3ab15" :weight bold))))
  123. '(font-lock-string-face ((t (:foreground "#05e4a5"))))
  124. '(font-lock-type-face ((t (:foreground "#029cdc" :weight bold))))
  125. '(font-lock-variable-name-face ((t (:foreground "#00815b"))))
  126. '(font-lock-warning-face ((t (:foreground "OrangeRed"))))
  127. ;; info
  128. '(info-title-1 ((t (:inherit org-level-1))))
  129. '(info-title-2 ((t (:inherit org-level-2))))
  130. '(info-title-3 ((t (:inherit org-level-3))))
  131. '(info-title-4 ((t (:inherit org-level-4))))
  132. '(info-xref ((t (:inherit default :underline t))))
  133. '(info-xref-visited ((t (:inherit mouse :underline t))))
  134. ;; magit
  135. '(magit-header ((t (:foreground "#e0c624" :weight bold))))
  136. '(magit-diff-add ((t (:foreground "#00815b"))))
  137. '(magit-diff-del ((t (:foreground "OrangeRed"))))
  138. '(magit-diff-hunk-header ((t (:background "#101010"))))
  139. '(magit-diff-file-header ((t (:weight bold :inherit magit-diff-hunk-header))))
  140. '(magit-item-highlight ((t (:background "#101010"))))
  141. '(magit-item-mark ((t (:background "#808080"))))
  142. ;; mode-line
  143. ;'(mode-line ((t (:foreground "#e0c625" :background nil :box nil))))
  144. ;'(mode-line-buffer-id ((t (:weight bold))))
  145. ;'(mode-line-inactive ((t (:foreground "#15abc3" :background nil :box nil))))
  146. '(mode-line ((t (:background "#0b2c2d" :box nil :foreground "#0cd6e4" :height 90))))
  147. '(mode-line-inactive ((t (:weight light :box nil :background "#002329" :foreground "#ffffff" :inherit (mode-line)))))
  148. '(mode-line-emphasis ((t (:weight bold))))
  149. '(mode-line-highlight ((t (:box nil (t (:inherit (highlight)))))))
  150. '(mode-line-buffer-id ((t (:weight bold :box nil))))
  151. ;; rainbow-delimiters
  152. '(rainbow-delimiters-depth-1-face ((t (:foreground "#a3e8ef"))))
  153. '(rainbow-delimiters-depth-2-face ((t (:foreground "#55c3f8"))))
  154. '(rainbow-delimiters-depth-3-face ((t (:foreground "#f6faf9"))))
  155. '(rainbow-delimiters-depth-4-face ((t (:foreground "#4ed8f5"))))
  156. '(rainbow-delimiters-depth-5-face ((t (:foreground "#004a88"))))
  157. '(rainbow-delimiters-depth-6-face ((t (:foreground "#f0ffff"))))
  158. '(rainbow-delimiters-depth-7-face ((t (:foreground "#51d7f0"))))
  159. '(rainbow-delimiters-depth-8-face ((t (:foreground "#be9194"))))
  160. '(rainbow-delimiters-depth-9-face ((t (:foreground "#94949c"))))
  161. ;; rainbow-delimiters
  162. '(org-level-1 ((t (:inherit rainbow-delimiters-depth-1-face :weight bold))))
  163. '(org-level-2 ((t (:inherit rainbow-delimiters-depth-2-face :weight bold))))
  164. '(org-level-3 ((t (:inherit rainbow-delimiters-depth-3-face :weight bold))))
  165. '(org-level-4 ((t (:inherit rainbow-delimiters-depth-4-face :weight bold))))
  166. '(org-level-5 ((t (:inherit rainbow-delimiters-depth-5-face :weight bold))))
  167. '(org-level-6 ((t (:inherit rainbow-delimiters-depth-6-face :weight bold))))
  168. '(org-level-7 ((t (:inherit rainbow-delimiters-depth-7-face :weight bold))))
  169. '(org-level-8 ((t (:inherit rainbow-delimiters-depth-8-face :weight bold))))
  170. ;; rst
  171. '(rst-level-1-face ((t (:inherit rainbow-delimiters-depth-1-face :weight bold))))
  172. '(rst-level-2-face ((t (:inherit rainbow-delimiters-depth-2-face :weight bold))))
  173. '(rst-level-3-face ((t (:inherit rainbow-delimiters-depth-3-face :weight bold))))
  174. '(rst-level-4-face ((t (:inherit rainbow-delimiters-depth-4-face :weight bold))))
  175. '(rst-level-5-face ((t (:inherit rainbow-delimiters-depth-5-face :weight bold))))
  176. '(rst-level-6-face ((t (:inherit rainbow-delimiters-depth-6-face :weight bold))))
  177. ;; outline
  178. '(outline-1 ((t (:inherit org-level-1))))
  179. '(outline-2 ((t (:inherit org-level-2))))
  180. '(outline-3 ((t (:inherit org-level-3))))
  181. '(outline-4 ((t (:inherit org-level-4))))
  182. '(outline-5 ((t (:inherit org-level-5))))
  183. '(outline-6 ((t (:inherit org-level-6))))
  184. '(outline-7 ((t (:inherit org-level-7))))
  185. '(outline-8 ((t (:inherit org-level-8))))
  186. ;; markdown
  187. '(markdown-header-face-1 ((t (:inherit org-level-1))))
  188. '(markdown-header-face-2 ((t (:inherit org-level-2))))
  189. '(markdown-header-face-3 ((t (:inherit org-level-3))))
  190. '(markdown-header-face-4 ((t (:inherit org-level-4))))
  191. '(markdown-header-face-5 ((t (:inherit org-level-5))))
  192. '(markdown-header-face-6 ((t (:inherit org-level-6))))
  193. ;; jabber
  194. '(jabber-chat-prompt-local ((t (:foreground "#15abc3" :weight bold))))
  195. '(jabber-chat-prompt-foreign ((t (:inherit font-lock-function-name-face))))
  196. '(jabber-chat-prompt-system ((t (:inherit font-lock-doc-face))))
  197. '(jabber-chat-text-local ((t (:foreground "#15abc3"))))
  198. '(jabber-chat-text-foreign ((t (:inherit font-lock-function-name-face :weight normal))))
  199. '(jabber-activity-face ((t (:foreground "#00815b"))))
  200. '(jabber-activity-personal-face ((t (:foreground "OrangeRed"))))
  201. ;; erc
  202. '(erc-default-face ((t (:inherit jabber-chat-text-local))))
  203. '(erc-input-face ((t (:inherit jabber-chat-text-foreign))))
  204. '(erc-nick-default-face ((t (:inherit jabber-chat-prompt-system)))))
  205. ;; Minibuffer
  206. '(minibuffer-prompt ((t (:weight bold :foreground "#00aab2"))))
  207. '(minibuffer-message ((t (:foreground "#ffffff"))))
  208. ;; Secondary region
  209. '(secondary-selection ((((class color) (min-colors 88) (background dark)) (:background "#144053"))))
  210. (provide-theme 'tron)
  211. ;; Local Variables:
  212. ;; eval: (rainbow-mode 1)
  213. ;; End:
  214. ;;; tron-theme.el ends here