"집중된 창을보다 잘 구별하기"를 원하므로 활성 창의 프린지 색상을 변경하는 대신 다른 방법을 사용하여이를 수행 할 수 있습니다.
활성 창과 비활성 창을 더 잘 구별하기 위해 세 가지 방법을 결합합니다.
- 활성 및 비활성 창에 대해 서로 다른 색상의 모드 라인을 사용하십시오.
- 점이 활성 창에있는 현재 선을 강조 표시합니다.
- 활성 및 비활성 창에 다른 배경색을 사용하십시오.
위에서 언급 한 모든 색상은 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
.