emacs: atomically change colorscheme

auto-flake-update
Yorick van Pelt 2022-04-11 12:28:57 +02:00
parent 7f81dfb76b
commit 3dda3c774a
Signed by: yorick
GPG Key ID: A36E70F9DC014A15
2 changed files with 15 additions and 24 deletions

View File

@ -1,6 +1,7 @@
#!/usr/bin/env bash
sed -i 's/colors:/colors-alt:/;t;s/colors-alt:/colors:/' ~/.config/alacritty/alacritty.yml
(grep -B1 '^colors:$' ~/.config/alacritty/alacritty.yml | head -n1 | grep -qi light && echo "light" || echo dark) | tee ~/dotfiles/color-scheme
(grep -B1 '^colors:$' ~/.config/alacritty/alacritty.yml | head -n1 | grep -qi light && echo "light" || echo dark) | tee ~/dotfiles/color-scheme.tmp
mv ~/dotfiles/color-scheme.tmp ~/dotfiles/color-scheme
#emacsclient -e "(set-solarized-theme nil '$(cat ~/dotfiles/color-scheme))" > /dev/null || true
if [ "$(cat ~/dotfiles/color-scheme)" = "dark" ]; then
dconf write /org/gnome/desktop/interface/gtk-theme "'Adwaita-dark'"

View File

@ -136,29 +136,19 @@
* Look
** Solarized
#+BEGIN_SRC emacs-lisp
;; (use-package solarized
;; :if window-system
;; :init
;; (setq-default frame-background-mode 'dark)
;; (set-frame-parameter nil 'background-mode 'dark)
;; (add-hook 'after-make-frame-functions (lambda (frame)
;; "Reenable solarized"
;; (enable-theme 'solarized-dark)))
;; :config
;; (load-theme 'solarized-dark t)
;; (enable-theme 'solarized-dark))
(setq solarized-distinct-fringe-background t)
(setq solarized-scale-org-headlines nil)
(defun reload-solarized (event)
(let ((theme (intern (concat "solarized-" (with-temp-buffer
(insert-file-contents "~/dotfiles/color-scheme")
(string-trim (buffer-string))
)))))
(load-theme theme t)))
(reload-solarized nil)
;; auto-reload
(require 'filenotify)
(file-notify-add-watch "~/dotfiles/color-scheme" '(change) 'reload-solarized)
(setq solarized-distinct-fringe-background t)
(setq solarized-scale-org-headlines nil)
(defun reload-solarized (event)
(let ((theme (intern (concat "solarized-" (with-temp-buffer
(insert-file-contents "~/dotfiles/color-scheme")
(string-trim (buffer-string))
)))))
(load-theme theme t)))
(reload-solarized nil)
;; auto-reload
(use-package filenotify
:config
(file-notify-add-watch "~/dotfiles/color-scheme" '(change) 'reload-solarized))
#+END_SRC
** Transparency
#+BEGIN_SRC emacs-lisp