summaryrefslogtreecommitdiff
path: root/emacs/inits
diff options
context:
space:
mode:
authortslil <tslil@posteo.de>2026-03-22 19:15:39 +0000
committertslil <tslil@posteo.de>2026-03-22 19:15:53 +0000
commit866867f8455de82ca6dd4f9e5f7626b779d9912c (patch)
treee4c111977a8160aa43d10f7a14b61a69e74599e6 /emacs/inits
parentd2697ade5056e676c5cd8afc421051ae4fa1addc (diff)
[emacs] listent to dbus for theme changes, fix edge case in backspace in completing-read
Diffstat (limited to 'emacs/inits')
-rw-r--r--emacs/inits/01-basic.el74
-rw-r--r--emacs/inits/11-completion.el6
2 files changed, 51 insertions, 29 deletions
diff --git a/emacs/inits/01-basic.el b/emacs/inits/01-basic.el
index 0ee67b2..65dd445 100644
--- a/emacs/inits/01-basic.el
+++ b/emacs/inits/01-basic.el
@@ -1,4 +1,4 @@
-;; Time-stamp: <2026-03-19 16h48 GMT (anker)>
+;; Time-stamp: <2026-03-22 19h15 GMT (11978fd4)>
;; -----------------------------------------------------------------------------
;; Interface
@@ -33,36 +33,56 @@
(split-window-horizontally)
(enlarge-to-fill)))
-(use-package circadian
- :ensure t
- :config
- (setq calendar-longitude -0.12
- calendar-latitude 51.5
- circadian-themes '((:sunrise . acme) (:sunset . dracula))))
-
(if (display-graphic-p)
(progn
(add-to-list 'custom-theme-load-path "~/.config/emacs/themes/")
- ;; (load-theme 'acme t)
- ;; (load-theme 'challenger-deep t)
-
- (require 'circadian)
- (circadian-setup)
-
- (defun my-disable-bold-fonts ()
- (interactive)
- (mapc
- (lambda (face)
- (set-face-attribute face nil :weight 'normal))
- (face-list)))
+ ;; listen for theme changes
+ (defconst dark-theme 'dracula)
+ (defconst light-theme 'acme)
+
+ (defun my-switch-to-light ()
+ (disable-theme dark-theme)
+ (load-theme light-theme t))
+
+ (defun my-switch-to-dark ()
+ (disable-theme light-theme)
+ (load-theme dark-theme t))
+
+ (require 'dbus)
+ (pcase (caar (dbus-ignore-errors
+ (dbus-call-method
+ :session
+ "org.freedesktop.portal.Desktop"
+ "/org/freedesktop/portal/desktop"
+ "org.freedesktop.portal.Settings" "Read"
+ "org.freedesktop.appearance" "color-scheme")))
+ (1 (my-switch-to-dark))
+ (2 (my-switch-to-light)))
+
+ (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 (my-switch-to-dark))
+ (2 (my-switch-to-light))))))
+
+ ;; fonts
(progn
- (setq my-font "Sudo-18")
- (setq my-font "PxPlus IBM VGA 9x16-18")
- (setq my-font "Commit Mono-18")
- (setq my-font "Berkeley Mono-18")
- (setq my-font "Monaspace Krypton-18")
- (setq my-font "BQN386 Unicode DZ-11")
+ (setq my-font "Commit Mono-14")
+ (setq my-font "Berkeley Mono-14")
+ (setq my-font "Monaspace Krypton-14")
+ (setq my-font "Sudo-14")
+ (setq my-font "Iosevka Term Slab-14")
+ (setq my-font "PxPlus IBM VGA 9x16-14")
+ (setq my-font "Myna-14")
+ (setq my-font "BQN386 Unicode DZ-14")
;; (setq line-spacing 4)
(set-frame-font my-font)
(set-face-attribute 'font-lock-comment-face nil :slant 'italic))
@@ -111,7 +131,7 @@
(setq enable-dir-local-variables nil)
-(global-auto-revert-mode t)
+(global-auto-revert-mode 1)
;; -----------------------------------------------------------------------------
;; Basic packages
diff --git a/emacs/inits/11-completion.el b/emacs/inits/11-completion.el
index de9467e..74b6e44 100644
--- a/emacs/inits/11-completion.el
+++ b/emacs/inits/11-completion.el
@@ -1,4 +1,4 @@
-;; Time-stamp: <2026-03-22 11h47 GMT (anker)>
+;; Time-stamp: <2026-03-22 19h03 GMT (11978fd4)>
(use-package savehist
:ensure t
@@ -66,7 +66,9 @@ Use as a value for `completion-in-region-function'."
(let ((slash-pos (save-excursion
(backward-word 1)
(search-backward "/" nil t))))
- (delete-region (1+ slash-pos) (point)))
+ (if slash-pos
+ (delete-region (1+ slash-pos) (point))
+ (delete-backward-char 1)))
(delete-backward-char 1)))
(defun my-switch-to-buffer-with-recentf ()