Improve toggle theme script

Now it can also output the current theme.
This commit is contained in:
Rune Juhl (Atea) 2022-11-01 11:30:40 +01:00
parent d42c453cc1
commit 49afde275e

View file

@ -17,16 +17,28 @@
"icon" "icon"
"cursor"]) "cursor"])
(defn next-theme (defn current-theme
[] []
(if (re-find #"dark" (:out (sh "gsettings" "get" "org.gnome.desktop.interface" "gtk-theme"))) (if (re-find #"dark" (:out (sh "gsettings" "get" "org.gnome.desktop.interface" "gtk-theme")))
:dark
:light))
(defn next-theme
[]
(if (= :dark (current-theme))
:light :light
:dark)) :dark))
(case (some->> *command-line-args*
first)
"get" (println (name (current-theme)))
"switch"
(let [switch-to (next-theme) (let [switch-to (next-theme)
gnome-theme ((:gnome themes) switch-to)] gnome-theme ((:gnome themes) switch-to)]
(run! (run!
#(sh "gsettings" "set" "org.gnome.desktop.interface" (str % "-theme") gnome-theme) #(sh "gsettings" "set" "org.gnome.desktop.interface" (str % "-theme") gnome-theme)
theme-preferences) theme-preferences)
(sh "emacsclient" "-e" (str "(load-theme '" ((:emacs themes) switch-to) ")"))) (sh "emacsclient" "-e" (str "(load-theme '" ((:emacs themes) switch-to) ")"))
nil))