minibuffer-setup-hook
yalnızca minibuffer ayarlandığında, yani etkinleştirildiğinde, devre dışı bırakıldığında kullanılmaz.
minibuffer-exit-hook
minibufferdan çıkıldığında etkili olur. Ayrıca var minibuffer-inactive-mode-hook
.
Ancak bunlar renk değişikliğini başlatmasına rağmen ( (debug)
kanca işlevinin başına ekleyerek ve ardından hata ayıklayıcıdan adım adım geçerek gösterildiği d
gibi), kill-local-variables
bir noktada eklenen rengi kaldırdığı görülmektedir . Şimdi daha fazla kontrol etmek için zamanım yok, ama belki yapabilirsin, ya da belki başka birinin hızlı bir çözümü var. Yalnızca eksik bilgi sağladığım için üzgünüm.
Şimdi gitmeliyim - ama çabucak, belki de kancalarla uğraşmanıza gerek olmadığını tahmin ediyorum ve sadece isim eşleşmeleri ile tüm tamponlar için yüz yeniden eşleme yapabilirsiniz \` \*Minibuf-[0-9]+\*\'
.
FWIW, ayrı bir minibuffer çerçeve kullanıyorum ve bunu minibuffer-exit-hook
çerçeve arka planını renklendirmek için taktım :
(defun 1on1-color-minibuffer-frame-on-exit ()
"Change background of minibuffer frame to reflect the minibuffer depth.
Use this when reducing the minibuffer recursion depth."
(when 1on1-minibuffer-frame
(save-window-excursion
(select-frame 1on1-minibuffer-frame)
(cond ((= (minibuffer-depth) 2)
(set-background-color 1on1-active-minibuffer-frame-background))
((< (minibuffer-depth) 2)
(set-background-color 1on1-inactive-minibuffer-frame-background))
(t
(set-background-color (hexrgb-increment-hue ; Change bg hue slightly.
(frame-parameter nil 'background-color)
1on1-color-minibuffer-frame-on-exit-increment)))))))