2023-02-07 19:26:04 +01:00
|
|
|
|
;; solarized-theme.el --- Solarized custom theme -*- lexical-binding: t; -*-
|
2023-02-02 08:05:11 +01:00
|
|
|
|
|
2013-03-07 22:00:07 +01:00
|
|
|
|
(require 'solarized-definitions
|
|
|
|
|
(locate-file "solarized-definitions.el" custom-theme-load-path
|
|
|
|
|
'("c" "")))
|
|
|
|
|
|
2023-02-07 19:26:04 +01:00
|
|
|
|
(deftheme solarized solarized-description)
|
|
|
|
|
|
|
|
|
|
(apply #'custom-theme-set-faces 'solarized (solarized-color-definitions))
|
|
|
|
|
|
|
|
|
|
(custom-theme-set-variables
|
|
|
|
|
'solarized
|
|
|
|
|
;; This is obsolete, but something might still be referencing it.
|
|
|
|
|
`(ansi-color-names-vector
|
|
|
|
|
,(apply #'vector
|
|
|
|
|
(mapcar (lambda (color-name)
|
|
|
|
|
(nth 1 (assoc color-name solarized-colors)))
|
|
|
|
|
'(base02 red green yellow blue magenta cyan base2)))))
|
2023-02-02 08:05:11 +01:00
|
|
|
|
|
|
|
|
|
(cl-defun solarized-update-background-mode
|
|
|
|
|
(appearance &optional (frames (frame-list)))
|
|
|
|
|
"Set the APPEARANCE of all frames to either 'light or 'dark.
|
|
|
|
|
This is not specific to Solarized – it will update the appearance of any theme
|
|
|
|
|
that observes the background characteristic."
|
|
|
|
|
(setq frame-background-mode appearance)
|
|
|
|
|
(mapc #'frame-set-background-mode frames)
|
|
|
|
|
;; Supposedly #'frame-set-background-mode updates the faces, but it doesn’t
|
|
|
|
|
;; seem to actually., so re-enable all the themes.
|
|
|
|
|
(mapc #'enable-theme (reverse custom-enabled-themes))
|
|
|
|
|
;; For some reason, ‘enable-theme’ (or maybe ‘solarized’?) is resetting the
|
|
|
|
|
;; ‘frame-background-mode’, so reset it here.
|
|
|
|
|
(setq frame-background-mode appearance))
|
|
|
|
|
|
|
|
|
|
(defun solarized-toggle-background-mode ()
|
|
|
|
|
"Toggle between light and dark background modes.
|
|
|
|
|
This is not specific to Solarized – it will update the appearance of any theme
|
|
|
|
|
that observes the background characteristic."
|
|
|
|
|
(interactive)
|
|
|
|
|
(let ((new-mode (pcase frame-background-mode
|
|
|
|
|
('dark 'light)
|
|
|
|
|
(_ 'dark))))
|
|
|
|
|
(solarized-update-background-mode new-mode)))
|
2023-02-07 19:26:04 +01:00
|
|
|
|
|
|
|
|
|
;;;###autoload
|
|
|
|
|
(when load-file-name
|
|
|
|
|
(add-to-list 'custom-theme-load-path
|
|
|
|
|
(file-name-as-directory (file-name-directory load-file-name))))
|
|
|
|
|
|
|
|
|
|
(provide-theme 'solarized)
|
|
|
|
|
;;; solarized-theme.el ends here
|