darktooth-darker-theme.el 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306
  1. ;;; darktooth-darker-theme.el --- From the darkness... it watches
  2. ;; Copyright (c) 2015-2022 Jason Milkins (GNU/GPL Licence)
  3. ;; Authors: Jason Milkins <jasonm23@gmail.com>
  4. ;; URL: http://github.com/emacsfodder/emacs-theme-darktooth
  5. ;; Version: 1.0.2
  6. ;; Package-Requires: ((emacs "27.1") (autothemer "0.2"))
  7. ;;; Commentary:
  8. ;; From the darkness... it watches
  9. ;; Since 1.0.0 : Prepare for variations, create darktooth-deftheme.
  10. ;; Since 0.4.0 : Restructure for simpler theme development
  11. ;; Since 0.3.0 : Official release integrated with autothemer
  12. ;; Since 0.2.0 : Built using autothemer
  13. ;; Since 0.1.60 : includes `darktooth-modeline'
  14. ;;; Code:
  15. (unless (>= emacs-major-version 24)
  16. (error "Requires Emacs 24 or later"))
  17. (require 'darktooth)
  18. (darktooth-deftheme darktooth-darker "From the darkness... it watches"
  19. ((((class color) (min-colors #xFFFFFF)) ;; color column 1 GUI/24bit
  20. ((class color) (min-colors #xFF))) ;; color column 2 Xterm/256
  21. (darktooth-background-0-hard "#060607" "#020202")
  22. (darktooth-background-0 "#0E0E0E" "#0C0C0C")
  23. (darktooth-background-0-soft "#181616" "#161616")
  24. (darktooth-background-1 "#22201E" "#202020")
  25. (darktooth-background-2 "#36312E" "#343434")
  26. (darktooth-background-3 "#4C443E" "#484848")
  27. (darktooth-background-4 "#62574E" "#5C5C5C")
  28. (darktooth-medium "#928374" "#8a8a8a") ;; or 244
  29. (darktooth-foreground-0-hard "#FFFFC8" "#ffffdf")
  30. (darktooth-foreground-0 "#FDF4C1" "#ffffaf")
  31. (darktooth-foreground-0-soft "#F4E8BA" "#ffff87")
  32. (darktooth-foreground-1 "#EBDBB2" "#ffdfaf")
  33. (darktooth-foreground-2 "#D5C4A1" "#bcbcbc")
  34. (darktooth-foreground-3 "#BDAE93" "#a8a8a8")
  35. (darktooth-foreground-4 "#A89984" "#949494")
  36. (darktooth-bright-red "#FB4933" "#d75f5f")
  37. (darktooth-bright-green "#B8BB26" "#afaf00")
  38. (darktooth-bright-yellow "#FABD2F" "#ffaf00")
  39. (darktooth-bright-blue "#83A598" "#87afaf")
  40. (darktooth-bright-purple "#D3869B" "#d787af")
  41. (darktooth-bright-aqua "#8EC07C" "#87af87")
  42. (darktooth-bright-orange "#FE8019" "#ff8700")
  43. (darktooth-bright-cyan "#3FD7E5" "#00d7ff")
  44. (darktooth-neutral-red "#FB4934" "#D75F5F")
  45. (darktooth-neutral-green "#B8BB26" "#73AF00")
  46. (darktooth-neutral-yellow "#FABD2F" "#FFAF00")
  47. (darktooth-neutral-blue "#83A598" "#87AFAF")
  48. (darktooth-neutral-purple "#D3869B" "#D787AF")
  49. (darktooth-neutral-aqua "#8EC07C" "#87AF87")
  50. (darktooth-neutral-orange "#FE8019" "#FF8700")
  51. (darktooth-neutral-cyan "#17CCD5" "#17CCD5")
  52. (darktooth-faded-red "#9D0006" "#870000")
  53. (darktooth-faded-green "#79740E" "#878700")
  54. (darktooth-faded-yellow "#B57614" "#af8700")
  55. (darktooth-faded-blue "#076678" "#005f87")
  56. (darktooth-faded-purple "#8F3F71" "#875f87")
  57. (darktooth-faded-aqua "#427B58" "#5f8787")
  58. (darktooth-faded-orange "#AF3A03" "#af5f00")
  59. (darktooth-faded-cyan "#00A7AF" "#00afaf")
  60. (darktooth-muted-red "#901A1E" "#870000")
  61. (darktooth-muted-green "#556C21" "#878700")
  62. (darktooth-muted-yellow "#A87933" "#af8700")
  63. (darktooth-muted-blue "#1B5C6B" "#005f87")
  64. (darktooth-muted-purple "#82526E" "#875f87")
  65. (darktooth-muted-aqua "#506E59" "#5f8787")
  66. (darktooth-muted-orange "#A24921" "#af5f00")
  67. (darktooth-muted-cyan "#18A7AF" "#00afaf")
  68. (darktooth-background-red "#421E1E" "#5f0000")
  69. (darktooth-background-green "#232B0F" "#005f00")
  70. (darktooth-background-yellow "#4D3B27" "#5f5f00")
  71. (darktooth-background-blue "#2B3C44" "#00005f")
  72. (darktooth-background-purple "#4E3D45" "#5f00af")
  73. (darktooth-background-aqua "#36473A" "#005f5f")
  74. (darktooth-background-orange "#613620" "#af5f00")
  75. (darktooth-background-cyan "#205161" "#005f87")
  76. (darktooth-mid-red "#3F1B1B" "#5f0000")
  77. (darktooth-mid-green "#1F321C" "#005f00")
  78. (darktooth-mid-yellow "#4C3A25" "#5f5f00")
  79. (darktooth-mid-blue "#30434C" "#00005f")
  80. (darktooth-mid-purple "#4C3B43" "#5f00af")
  81. (darktooth-mid-aqua "#394C3D" "#005f5f")
  82. (darktooth-mid-orange "#603000" "#af5f00")
  83. (darktooth-mid-cyan "#005560" "#005f87")
  84. (darktooth-delimiter-one "#5C7E81" "#5f8787")
  85. (darktooth-delimiter-two "#837486" "#875f5f")
  86. (darktooth-delimiter-three "#9C6F68" "#af5f5f")
  87. (darktooth-delimiter-four "#7B665C" "#5f5f5f")
  88. (darktooth-identifiers-1 "#FDF4C1" "#FDF4C1")
  89. (darktooth-identifiers-2 "#F4E8BA" "#F4E8BA")
  90. (darktooth-identifiers-3 "#EBDBB2" "#EBDBB2")
  91. (darktooth-identifiers-4 "#D5C4A1" "#D5C4A1")
  92. (darktooth-identifiers-5 "#FDF4C1" "#FDF4C1")
  93. (darktooth-identifiers-6 "#F4E8BA" "#F4E8BA")
  94. (darktooth-identifiers-7 "#EBDBB2" "#EBDBB2")
  95. (darktooth-identifiers-8 "#D5C4A1" "#D5C4A1")
  96. (darktooth-identifiers-9 "#FDF4C1" "#FDF4C1")
  97. (darktooth-identifiers-10 "#F4E8BA" "#F4E8BA")
  98. (darktooth-identifiers-11 "#EBDBB2" "#EBDBB2")
  99. (darktooth-identifiers-12 "#D5C4A1" "#D5C4A1")
  100. (darktooth-identifiers-13 "#FDF4C1" "#FDF4C1")
  101. (darktooth-identifiers-14 "#F4E8BA" "#F4E8BA")
  102. (darktooth-identifiers-15 "#EBDBB2" "#EBDBB2")
  103. (darktooth-white "#FFFFFF" "white")
  104. (darktooth-black "#000000" "black")
  105. (darktooth-sienna "#DD6F48" "sienna")
  106. (darktooth-darkslategray4 "#528B8B" "DarkSlateGray4")
  107. (darktooth-lightblue4 "#66999D" "LightBlue4")
  108. (darktooth-burlywood4 "#BBAA97" "burlywood4")
  109. (darktooth-aquamarine4 "#83A598" "aquamarine4")
  110. (darktooth-turquoise4 "#61ACBB" "turquoise4"))
  111. ;; autothemer body
  112. (defface darktooth-modeline-one-active
  113. `((t
  114. (:foreground ,darktooth-background-0
  115. :background ,darktooth-background-4
  116. :height 120
  117. :inverse-video nil
  118. :box (:line-width 6 :color ,darktooth-background-4 :style nil))))
  119. "darktooth modeline active one"
  120. :group 'mode-line-faces)
  121. (defface darktooth-modeline-one-inactive
  122. `((t
  123. (:foreground ,darktooth-background-0
  124. :background ,darktooth-background-2
  125. :height 120
  126. :inverse-video nil
  127. :box (:line-width 6 :color ,darktooth-background-2 :style nil))))
  128. "darktooth modeline inactive one"
  129. :group 'mode-line-faces)
  130. (defface darktooth-modeline-two-active
  131. `((t
  132. (:foreground ,darktooth-foreground-2
  133. :background ,darktooth-background-2
  134. :height 120
  135. :inverse-video nil
  136. :box (:line-width 6 :color ,darktooth-background-2 :style nil))))
  137. "darktooth modeline active two"
  138. :group 'mode-line-faces)
  139. (defface darktooth-modeline-two-inactive
  140. `((t
  141. (:foreground ,darktooth-background-1
  142. :background ,darktooth-background-4
  143. :height 120
  144. :inverse-video nil
  145. :box (:line-width 6 :color ,darktooth-background-4 :style nil))))
  146. "darktooth modeline inactive two"
  147. :group 'mode-line-faces)
  148. (defface darktooth-modeline-three-active
  149. `((t
  150. (:foreground ,darktooth-background-orange
  151. :background ,darktooth-background-0-hard
  152. :height 120
  153. :inverse-video nil
  154. :box (:line-width 6 :color ,darktooth-background-0-hard :style nil))))
  155. "darktooth modeline inactive three"
  156. :group 'mode-line-faces)
  157. (defface darktooth-modeline-three-inactive
  158. `((t
  159. (:foreground ,darktooth-muted-orange
  160. :background ,darktooth-background-1
  161. :height 120
  162. :inverse-video nil
  163. :box (:line-width 6 :color ,darktooth-background-1 :style nil))))
  164. "darktooth modeline active three"
  165. :group 'mode-line-faces)
  166. (defface darktooth-modeline-four-active
  167. `((t
  168. (:foreground ,darktooth-black
  169. :background ,darktooth-background-4
  170. :height 120
  171. :inverse-video nil
  172. :box (:line-width 6 :color ,darktooth-background-4 :style nil))))
  173. "darktooth modeline active four"
  174. :group 'mode-line-faces)
  175. (defface darktooth-modeline-four-inactive
  176. `((t
  177. (:foreground ,darktooth-background-4
  178. :background ,darktooth-black
  179. :height 120
  180. :inverse-video nil
  181. :box (:line-width 6 :color ,darktooth-black :style nil))))
  182. "darktooth modeline inactive four"
  183. :group 'mode-line-faces)
  184. (custom-theme-set-variables 'darktooth
  185. `(pos-tip-foreground-color ,darktooth-foreground-0-hard)
  186. `(pos-tip-background-color ,darktooth-background-aqua)
  187. `(ansi-color-names-vector [,darktooth-background-0-soft
  188. ,darktooth-neutral-red
  189. ,darktooth-neutral-green
  190. ,darktooth-neutral-yellow
  191. ,darktooth-neutral-blue
  192. ,darktooth-neutral-purple
  193. ,darktooth-neutral-cyan
  194. ,darktooth-foreground-1])
  195. `(pdf-view-midnight-colors '(,darktooth-foreground-0 . ,darktooth-background-0))))
  196. (defun darktooth-modeline-one ()
  197. "Optional modeline style one for darktooth."
  198. (interactive)
  199. (set-face-attribute 'mode-line nil
  200. :foreground (face-attribute 'darktooth-modeline-two-active :foreground)
  201. :background (face-attribute 'darktooth-modeline-two-active :background)
  202. :height 120
  203. :inverse-video nil
  204. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-two-active :background) :style nil))
  205. (set-face-attribute 'mode-line-inactive nil
  206. :foreground (face-attribute 'darktooth-modeline-two-inactive :foreground)
  207. :background (face-attribute 'darktooth-modeline-two-inactive :background)
  208. :height 120
  209. :inverse-video nil
  210. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-two-inactive :background) :style nil)))
  211. (defun darktooth-modeline-two ()
  212. "Optional modeline style two for darktooth."
  213. (interactive)
  214. (set-face-attribute 'mode-line nil
  215. :foreground (face-attribute 'darktooth-modeline-one-active :foreground)
  216. :background (face-attribute 'darktooth-modeline-one-active :background)
  217. :height 120
  218. :inverse-video nil
  219. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-one-active :background) :style nil))
  220. (set-face-attribute 'mode-line-inactive nil
  221. :foreground (face-attribute 'darktooth-modeline-one-inactive :foreground)
  222. :background (face-attribute 'darktooth-modeline-one-inactive :background)
  223. :height 120
  224. :inverse-video nil
  225. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-one-inactive :background) :style nil)))
  226. (defun darktooth-modeline-three ()
  227. "Optional modeline style three for darktooth."
  228. (interactive)
  229. (set-face-attribute 'mode-line nil
  230. :foreground (face-attribute 'darktooth-modeline-three-active :foreground)
  231. :background (face-attribute 'darktooth-modeline-three-active :background)
  232. :height 120
  233. :inverse-video nil
  234. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-three-active :background) :style nil))
  235. (set-face-attribute 'mode-line-inactive nil
  236. :foreground (face-attribute 'darktooth-modeline-three-inactive :foreground)
  237. :background (face-attribute 'darktooth-modeline-three-inactive :background)
  238. :height 120
  239. :inverse-video nil
  240. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-three-inactive :background) :style nil)))
  241. (defun darktooth-modeline-four ()
  242. "Optional modeline style four for darktooth."
  243. (interactive)
  244. (set-face-attribute 'mode-line nil
  245. :foreground (face-attribute 'darktooth-modeline-four-active :foreground)
  246. :background (face-attribute 'darktooth-modeline-four-active :background)
  247. :height 120
  248. :inverse-video nil
  249. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-four-active :background) :style nil))
  250. (set-face-attribute 'mode-line-inactive nil
  251. :foreground (face-attribute 'darktooth-modeline-four-inactive :foreground)
  252. :background (face-attribute 'darktooth-modeline-four-inactive :background)
  253. :height 120
  254. :inverse-video nil
  255. :box `(:line-width 6 :color ,(face-attribute 'darktooth-modeline-four-inactive :background) :style nil)))
  256. (defalias 'darktooth-modeline 'darktooth-modeline-one)
  257. ;;;###autoload
  258. (and load-file-name
  259. (boundp 'custom-theme-load-path)
  260. (add-to-list 'custom-theme-load-path
  261. (file-name-as-directory
  262. (file-name-directory load-file-name))))
  263. (provide-theme 'darktooth-darker)
  264. ;; Local Variables:
  265. ;; eval: (when (fboundp 'rainbow-mode) (rainbow-mode 1))
  266. ;; End:
  267. ;;; darktooth-darker-theme.el ends here