在同一个框架和与活性小缓冲区,任何人都可以想办法把开关other-window
行为类似于一个minibuffer-exit-hook
(没有完全退出迷你缓冲器)?如何改变模式行颜色与主动小缓冲区并切换到其他窗口
本质上,我想让主窗口在焦点位于minibuffer中时显示非活动模式行颜色,然后当我从半活动状态移动时将modline更新为活动状态(对于具有焦点的窗口)使用other-window
将小缓冲器转移到另一个窗口。
例如,在同一个框架(并排)中打开两个窗口 - 窗口#1是我的笔记 - 窗口#2是我想要修改的记录的大哥哥数据库显示。所以我打开迷你缓冲器输入我的记录修改,然后在我的笔记在Window#1和Minibuffer之间来回切换,以复制和粘贴相关部分。当使用other-window
在三个区域之间跳转时,仍然很难知道焦点是在小缓冲区还是其他窗口中。
Window # 1 (notes) | Window # 2 (bbdb record display)
|
___________________________|_____________________________________
Name: lawlist . . .
(defun enter-minibuffer-setup()
(set-face-attribute 'mode-line nil
:height 160 :foreground "gray70" :background "black")
(set (make-local-variable 'face-remapping-alist)
'((default :background "gray10" :foreground "yellow"))))
(defun exit-minibuffer-setup()
(set-face-attribute 'mode-line nil
:height 160 :foreground "black" :background "gray70"))
(add-hook 'minibuffer-setup-hook 'enter-minibuffer-setup)
(add-hook 'minibuffer-exit-hook 'exit-minibuffer-setup)
问题是什么?你的代码不是做你想做的? – Drew
当小型缓冲器处于活动状态时,两个窗口的模式状态变为无效。当我在不关闭小缓冲区的情况下使用'other-window'时(例如,当我需要从窗口#1复制名称或地址,然后切换回小缓冲区进行粘贴时),唯一的提示是“闪烁的光标”焦点的变化。我希望当使用'other-window'在minibuffer和Window#1或2之间切换时,modeline也会改变。 – lawlist
我明白了。不知道答案,除非在某个时刻会有缓冲切换挂钩。然而,在[bug#155767](http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15577#53)这个主题中有一些讨论,以及主要模式是否改变进入/退出minibuffer触发模式更改挂钩等。 – Drew