summaryrefslogtreecommitdiff
path: root/theme.el
diff options
context:
space:
mode:
Diffstat (limited to 'theme.el')
-rw-r--r--theme.el44
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