minibuffer-setup-hook
digunakan hanya ketika minibuffer diatur, yaitu diaktifkan, bukan saat dinonaktifkan.
minibuffer-exit-hook
berlaku saat minibuffer keluar. Ada juga minibuffer-inactive-mode-hook
.
Tetapi meskipun mereka melakukan perubahan warna (seperti yang ditunjukkan dengan menambahkan (debug)
di awal fungsi hook, dan kemudian melangkah melalui debugger dengan d
), tampaknya kill-local-variables
menghapus warna yang ditambahkan di beberapa titik. Saya tidak punya waktu sekarang untuk memeriksa lebih lanjut, tetapi mungkin Anda bisa, atau mungkin orang lain punya solusi cepat. Maaf karena hanya memberikan info yang tidak lengkap.
Harus pergi sekarang - tetapi dengan cepat, saya kira mungkin Anda tidak perlu bermain-main dengan kait sama sekali, dan Anda bisa melakukan remapping wajah untuk semua buffer dengan nama yang cocok \` \*Minibuf-[0-9]+\*\'
.
FWIW, saya menggunakan frame minibuffer terpisah , dan saya gunakan ini minibuffer-exit-hook
untuk mewarnai latar belakang frame:
(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)))))))