Karena Anda ingin "Untuk lebih membedakan antara jendela fokus", Anda dapat menggunakan cara lain untuk melakukan itu alih-alih hanya mengubah warna pinggiran jendela aktif.
Saya menggabungkan tiga cara untuk membedakan lebih baik antara jendela aktif dan tidak aktif.
- Gunakan berbagai warna garis mode untuk jendela aktif dan tidak aktif.
- Sorot garis saat ini di mana titik tersebut berada di jendela aktif.
- Gunakan warna latar belakang yang berbeda untuk jendela aktif dan tidak aktif.
Perhatikan bahwa semua warna yang dipilih di atas harus bekerja dengan baik dengan tema Emacs Anda.
Inilah tiga cara:
Gunakan berbagai warna garis mode untuk jendela aktif dan tidak aktif:
(custom-set-faces
'(mode-line ((t (:background "dim gray" :foreground "white"))))
'(mode-line-inactive ((t (:background nil)))))
Sorot baris saat ini di mana titiknya ada di jendela aktif:
(global-hl-line-mode 1)
;; underline the current line
(set-face-attribute hl-line-face nil :underline t)
Gunakan warna latar belakang yang berbeda untuk jendela aktif dan tidak aktif:
(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)
Anda dapat mengubah warna dalam cuplikan kode agar berfungsi dengan baik dengan tema Emacs Anda.
Ini adalah tangkapan layar terakhir:
Dan ada fungsi lain yang dapat Anda gunakan secara manual untuk mem-flash jendela aktif:
(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)))
Anda dapat mengubah pengikat tombol di snipet kode, saat Anda ingin menampilkan jendela aktif, tekan tombol, jendela aktif akan berwarna biru, setelah Anda menggerakkan titik Anda, warnanya akan hilang.
M-x customize-face mode-line-inactive
.