fix: cancel persp timer after startup via run-with-timer

- Let persp-mode start normally (no more void-function error)
- Cancel the 2.5s cache timer 3s after init
This commit is contained in:
2026-02-20 11:00:47 +01:00
parent 3d6c8bae64
commit 2ad8721dda

View File

@@ -423,17 +423,14 @@
;; macOS Zoom accessibility — minimalizace redraws ;; macOS Zoom accessibility — minimalizace redraws
;; -------------------------------------------------- ;; --------------------------------------------------
;; persp-mode (workspaces) — hlavní viník skákání (2.5s timer) ;; persp-mode (workspaces) — hlavní viník skákání (2.5s timer)
;; Vypnout predicate PŘED načtením persp-mode (zabrání vytvoření timeru) ;; Necháme persp-mode normálně nastartovat, ale po 3s zrušíme jeho cache timer
(setq persp-set-frame-buffer-predicate nil) (run-with-timer 3 nil
(after! persp-mode
(setq persp-autokill-buffer-on-remove nil)
;; Pokud timer přesto vznikl, zrušit ho
(run-with-idle-timer 5 nil
(lambda () (lambda ()
(when (and (boundp 'persp-frame-buffer-predicate-buffer-list-cache--timer) (when (and (boundp 'persp-frame-buffer-predicate-buffer-list-cache--timer)
(timerp persp-frame-buffer-predicate-buffer-list-cache--timer)) (timerp persp-frame-buffer-predicate-buffer-list-cache--timer))
(cancel-timer persp-frame-buffer-predicate-buffer-list-cache--timer) (cancel-timer persp-frame-buffer-predicate-buffer-list-cache--timer)
(setq persp-frame-buffer-predicate-buffer-list-cache--timer nil))))) (setq persp-frame-buffer-predicate-buffer-list-cache--timer nil)
(message "persp-mode 2.5s cache timer cancelled for Zoom accessibility"))))
;; which-key — zvýšit repeat delay (1.8s timer) ;; which-key — zvýšit repeat delay (1.8s timer)
(setq which-key-idle-delay 2.0) (setq which-key-idle-delay 2.0)