diff options
Diffstat (limited to 'theme.el')
| -rw-r--r-- | theme.el | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/theme.el b/theme.el deleted file mode 100644 index 2a574bd..0000000 --- a/theme.el +++ /dev/null @@ -1,44 +0,0 @@ -;;; theme.el -*- lexical-binding: t; -*- - -;; Utility to set light & dark theme that follows system -;; This has only been tested on Gnome 48 and depends on gsettings - -(use-package catppuccin-theme) - -(defun has-gsettings () - (= (call-process-shell-command "gsettings --version") 0)) - -(defun set-color-scheme () - (set-theme - (string-trim - (shell-command-to-string "gsettings get org.gnome.desktop.interface color-scheme")))) - -(defun set-theme (scheme) - (setq catppuccin-flavor (cond ((string-equal scheme "\'default\'") 'latte) - ((string-equal scheme "\'prefer-light\'") 'latte) - ((string-equal scheme "\'prefer-dark\'") 'mocha))) - (load-theme 'catppuccin :no-confirm)) - -(defun monitor-theme-changes () - "Listen to gnome theme changes and run set the correct flavor" - (let ((process (make-process - :name "gsettings-monitor" - :command '("gsettings" "monitor" "org.gnome.desktop.interface" "color-scheme") - :filter (lambda (_ output) - (when (string-match-p "color-scheme" output) - (set-color-scheme)))))) - ;; Kill on exit without user prompt - (set-process-query-on-exit-flag process nil))) - -;; Initialize settings -(when (has-gsettings) - (set-color-scheme) - (monitor-theme-changes)) - -(when (not (has-gsettings)) - (setq catppuccin-flavor 'mocha) - (load-theme 'catppuccin :no-confirm)) - -(provide 'theme) - -;;; theme.el ends here |
