From 3d6c8bae64fb44c0eae14a2356d1b5b1a4c3c084 Mon Sep 17 00:00:00 2001 From: Daneel Date: Fri, 20 Feb 2026 11:00:06 +0100 Subject: [PATCH] fix: set persp-set-frame-buffer-predicate before persp-mode loads - Fixes void-variable error on startup - Sets persp-set-frame-buffer-predicate nil BEFORE persp-mode init - Deferred timer cleanup as safety net --- config.el | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/config.el b/config.el index b967028..ffb2918 100644 --- a/config.el +++ b/config.el @@ -423,14 +423,17 @@ ;; macOS Zoom accessibility — minimalizace redraws ;; -------------------------------------------------- ;; 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) +(setq persp-set-frame-buffer-predicate nil) (after! persp-mode (setq persp-autokill-buffer-on-remove nil) - ;; Vypnout predicate cache timer (způsobuje redraw každé 2.5s) - (when (timerp 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) - ;; Alternativa: vypnout frame-buffer-predicate úplně - (setq persp-set-frame-buffer-predicate nil)) + ;; Pokud timer přesto vznikl, zrušit ho + (run-with-idle-timer 5 nil + (lambda () + (when (and (boundp '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) + (setq persp-frame-buffer-predicate-buffer-list-cache--timer nil))))) ;; which-key — zvýšit repeat delay (1.8s timer) (setq which-key-idle-delay 2.0)