From: Amin Bandali Date: Sat, 24 Dec 2022 21:27:43 +0000 (-0500) Subject: * .emacs.d/init.el (b/invert-default-face): Improve. X-Git-Url: https://git.shemshak.org/gitweb.cgi/~bandali/configs/commitdiff_plain/7c054dcebe12d7121f067b279a772f874b29d3da * .emacs.d/init.el (b/invert-default-face): Improve. Take a prefix argument that when set, will have the function invert the faces across all frames rather than just (selected-frame). Also, if we're running EXWM refresh the system tray background colour. --- diff --git a/.emacs.d/init.el b/.emacs.d/init.el index 8d05845..b4a16cc 100644 --- a/.emacs.d/init.el +++ b/.emacs.d/init.el @@ -418,12 +418,19 @@ Make N (default: 1) copies of the current line or region." (dotimes (_ (abs n1)) (insert text)))))) -(defun b/invert-default-face () - "Invert the `default' face (swap its background and foreground). -Effectively a very simple light/dark theme toggle switch." - (interactive) - (invert-face 'default (selected-frame)) - (invert-face 'mode-line (selected-frame))) +(defun b/invert-default-face (arg) + "Invert the `default' and `mode-line' faces for the current frame. +Swap the background and foreground for the two `default' and +`mode-line' faces, effectively acting like a simple light/dark +theme toggle. If prefix argument ARG is given, invert the faces +for all frames." + (interactive "P") + (let ((frame (unless arg + (selected-frame)))) + (invert-face 'default frame) + (invert-face 'mode-line frame)) + (when (fboundp #'exwm-systemtray--refresh-background-color) + (exwm-systemtray--refresh-background-color 'remap))) (defun b/export-frame () (interactive)