Vì bạn muốn "Để phân biệt rõ hơn giữa cửa sổ tập trung", bạn có thể sử dụng các cách khác để làm điều đó thay vì chỉ thay đổi màu rìa của cửa sổ đang hoạt động.
Tôi kết hợp ba cách để phân biệt tốt hơn giữa các cửa sổ hoạt động và không hoạt động.
- Sử dụng các màu khác nhau của dòng chế độ cho các cửa sổ đang hoạt động và không hoạt động.
- Đánh dấu dòng hiện tại nơi điểm nằm trong cửa sổ hoạt động.
- Sử dụng các màu nền khác nhau cho các cửa sổ hoạt động và không hoạt động.
Lưu ý rằng tất cả các màu đã chọn được đề cập ở trên sẽ hoạt động tốt với chủ đề Emacs của bạn.
Dưới đây là tất cả ba cách:
Sử dụng các màu khác nhau của dòng chế độ cho các cửa sổ đang hoạt động và không hoạt động:
(custom-set-faces
'(mode-line ((t (:background "dim gray" :foreground "white"))))
'(mode-line-inactive ((t (:background nil)))))
Đánh dấu dòng hiện tại nơi điểm nằm trong cửa sổ hoạt động:
(global-hl-line-mode 1)
;; underline the current line
(set-face-attribute hl-line-face nil :underline t)
Sử dụng các màu nền khác nhau cho các cửa sổ hoạt động và không hoạt động:
(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)
Bạn có thể thay đổi màu sắc trong đoạn mã để hoạt động tốt với chủ đề Emacs của bạn.
Đây là ảnh chụp màn hình cuối cùng:
Và có một chức năng khác bạn có thể sử dụng thủ công để flash cửa sổ đang hoạt động:
(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)))
Bạn có thể thay đổi liên kết phím trong đoạn mã, khi bạn muốn hiển thị cửa sổ đang hoạt động, nhấn phím, cửa sổ hiện hoạt sẽ có màu xanh, sau khi bạn di chuyển điểm, màu sẽ biến mất.
M-x customize-face mode-line-inactive
.