Оскільки ви хочете "Краще розрізнити зосереджене вікно", ви можете використовувати інші способи зробити це замість того, щоб просто змінити колір бахроми активного вікна.
Я поєдную три способи, щоб краще розрізнити активні та неактивні вікна.
- Використовуйте різні кольори лінії режиму для активних та неактивних вікон.
- Виділіть поточну лінію, де точка знаходиться в активному вікні.
- Використовуйте різні кольори фону для активних та неактивних вікон.
Зауважте, що всі обрані вище кольори повинні добре співпрацювати з вашою темою Emacs.
Ось усі три способи:
Використовуйте різні кольори рядка режиму для активних та неактивних вікон:
(custom-set-faces
'(mode-line ((t (:background "dim gray" :foreground "white"))))
'(mode-line-inactive ((t (:background nil)))))
Виділіть поточну лінію, де точка знаходиться в активному вікні:
(global-hl-line-mode 1)
;; underline the current line
(set-face-attribute hl-line-face nil :underline t)
Використовуйте різні кольори фону для активних та неактивних вікон:
(defun highlight-selected-window ()
"Highlight selected window with a different background color."
(walk-windows (lambda (w)
(unless (eq w (selected-window))
(with-current-buffer (window-buffer w)
(buffer-face-set '(:background "#111"))))))
(buffer-face-set 'default))
(add-hook 'buffer-list-update-hook 'highlight-selected-window)
Ви можете змінити кольори в фрагментах коду, щоб добре співпрацювати з вашою темою Emacs.
Це заключний скріншот:
І є ще одна функція, яку ви можете вручну використовувати для спалаху активного вікна:
(global-set-key (kbd "<f12>") 'flash-active-buffer)
(make-face 'flash-active-buffer-face)
(set-face-attribute 'flash-active-buffer-face nil
:background "blue" :foreground nil)
(defun flash-active-buffer ()
(interactive)
(run-at-time "100 millisec" nil
(lambda (remap-cookie)
(face-remap-remove-relative remap-cookie))
(face-remap-add-relative 'default 'flash-active-buffer-face)))
Ви можете змінити прив'язку клавіш у фрагменті коду, коли ви хочете показати активне вікно, натисніть клавішу, активне вікно стане синім, після переміщення вказівника колір зникне.
M-x customize-face mode-line-inactive
.