突出显示当前活动窗口

时间:2015-10-18 06:47:14

标签: emacs

是否有一种简单的方法可以更改活动窗口的背景颜色,以便轻松区分哪个窗口有输入?

我知道hiwin-mode(https://github.com/masutaka/hiwin-mode)。但是这种模式在掌舵方面很有问题。

我也知道color-theme-buffer-local(https://github.com/vic/color-theme-buffer-local),我想知道它是否可以自定义来做我想要的。

2 个答案:

答案 0 :(得分:4)

(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)

根据您的喜好更改背景颜色("#111")。

答案 1 :(得分:4)

自动点心另一buffers.el

您可能需要查看MELPA提供的auto-dim-other-buffers.el

  

auto-dim-other-buffers-mode是一种全局次要模式   非当前缓冲区不太突出,使得哪个窗口更明显   有一个焦点。

     

安装模式的首选方法是从中安装软件包   MELPA:

M-x package-install RET auto-dim-other-buffers RET
     

安装后,可以使用以下方式(全局)打开模式:

M-x auto-dim-other-buffers-mode RET
     

要在Emacs每次启动时启用模式,请将以下内容添加到   Emacs初始化文件(~/.emacs~/.emacs.d/init.el):

(add-hook 'after-init-hook (lambda ()
  (when (fboundp 'auto-dim-other-buffers-mode)
    (auto-dim-other-buffers-mode t))))
     

要配置调暗缓冲区的外观,请自定义   auto-dim-other-buffers-face。这可以通过以下方式实现:

M-x customize-face RET auto-dim-other-buffers-face RET
     

auto-dim-other-buffers-mode是一种全局次要模式   非当前缓冲区不太突出,使得哪个窗口更明显   有一个焦点。

对于给定的活动窗口,所有其他不显示相同缓冲区的窗口将设置为自定义背景。即,活动窗口和显示相同缓冲区的其他窗口将具有与其余窗口不同的背景颜色。我相信最后一部分是您正在寻找的具体行为,基于您对已接受答案的评论。

  

"非常感谢你。这非常接近我想要的。除了   事实上,有两个窗口打开相同的缓冲区导致两者   窗口被标记为“不活动”。它不是非常重要,但是   有一种简单的方法可以解决这个问题吗?"