Function: auto-dark--register-dbus-listener
auto-dark--register-dbus-listener is a natively compiled function
defined in auto-dark.el.
Signature
(auto-dark--register-dbus-listener)
Documentation
Register a callback function with D-Bus.
Ask D-Bus to send us a signal on theme change and add a callback to change the theme.
Source Code
;; Defined in /nix/store/fxsazwcy8jcsigjhcydkb81ip47xqcw0-emacs-packages-deps/share/emacs/site-lisp/elpa/auto-dark-20260313.2356/auto-dark.el
(defun auto-dark--register-dbus-listener ()
"Register a callback function with D-Bus.
Ask D-Bus to send us a signal on theme change and add a callback
to change the theme."
(setq auto-dark--dbus-listener-object
;; Documented at
;; https://flatpak.github.io/xdg-desktop-portal/docs/doc-org.freedesktop.portal.Settings.html
(dbus-register-signal
:session
"org.freedesktop.portal.Desktop"
"/org/freedesktop/portal/desktop"
"org.freedesktop.portal.Settings"
"SettingChanged"
(lambda (path var val)
(when (and (string= path "org.freedesktop.appearance")
(string= var "color-scheme"))
(pcase (car val)
(1 (auto-dark--set-theme 'dark))
((or 0 2) (auto-dark--set-theme 'light))))))))