aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-07-24 01:02:54 -0500
committerCraig Jennings <c@cjennings.net>2026-07-24 01:02:54 -0500
commit7e5aa31731a6d6446055729fb7597d549ff637f4 (patch)
tree4a3deb3a97d8ecbe3023e7e84d6e8151937ebfc6
parent32017dc068d7579e789c5e753ae35f6f10c3d5b3 (diff)
downloaddotemacs-7e5aa31731a6d6446055729fb7597d549ff637f4.tar.gz
dotemacs-7e5aa31731a6d6446055729fb7597d549ff637f4.zip
fix(auto-dim): stop the minibuffer from re-dimming the window you leftHEADmain
- Opening the minibuffer dimmed whatever window you had just left. - Dimming follows selection, and the minibuffer takes selection. - auto-dim-other-buffers-dim-on-switch-to-minibuffer sat at its package default of t. - Set it to nil, so minibuffer entry leaves the dim state alone.
-rw-r--r--modules/auto-dim-config.el6
-rw-r--r--tests/test-auto-dim-config.el7
2 files changed, 11 insertions, 2 deletions
diff --git a/modules/auto-dim-config.el b/modules/auto-dim-config.el
index faa4101c..980d301f 100644
--- a/modules/auto-dim-config.el
+++ b/modules/auto-dim-config.el
@@ -58,7 +58,11 @@ focus cue on a split-displayed dashboard, accepted as a fair trade."
;; Emacs loses focus -- on Hyprland focus moves to other apps constantly,
;; and the ai-term agents live in their own windows.
(auto-dim-other-buffers-dim-on-focus-out nil)
- (auto-dim-other-buffers-dim-on-switch-to-minibuffer t)
+ ;; Entering the minibuffer leaves dimming exactly as it was -- a dim window
+ ;; stays dim, a lit one stays lit. With this at t, the window being worked
+ ;; in went dark on every minibuffer prompt, since selecting the minibuffer
+ ;; deselects it and the dim follows selection.
+ (auto-dim-other-buffers-dim-on-switch-to-minibuffer nil)
:config
;; Remap these faces to auto-dim-other-buffers (pure-black background +
;; faded gray foreground, defined in the theme) in non-selected windows.
diff --git a/tests/test-auto-dim-config.el b/tests/test-auto-dim-config.el
index 12435fa0..dcab7eff 100644
--- a/tests/test-auto-dim-config.el
+++ b/tests/test-auto-dim-config.el
@@ -30,7 +30,12 @@
(progn
(should (bound-and-true-p auto-dim-other-buffers-mode))
(should (null auto-dim-other-buffers-dim-on-focus-out))
- (should (eq t auto-dim-other-buffers-dim-on-switch-to-minibuffer))
+ ;; Entering the minibuffer must not change what is dimmed: a dim window
+ ;; stays dim, a lit one stays lit. The fork's `adob--update' returns
+ ;; early when this is nil and the selected window is the minibuffer, so
+ ;; nil is what keeps a minibuffer prompt from re-dimming the window the
+ ;; user was just in.
+ (should (null auto-dim-other-buffers-dim-on-switch-to-minibuffer))
(should-not (assq 'fringe auto-dim-other-buffers-affected-faces)))
(when (fboundp 'auto-dim-other-buffers-mode)
(auto-dim-other-buffers-mode -1))))