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))))))))