只在active window显示mode-line?

据我所知禁止mode-line只能把mode-line-format设为nil。这样的话active window的mode-line也没了……有什么办法只在active window显示mode-line吗?

Automatically becomes buffer-local when set.
This variable may be risky if used as a file-local variable.

我没说清楚,我的意思是,我没法设置mode-line-format让mode-line不在inactive window显示,比如(:eval nil)并不会不显示mode-line,而是显示空mode-line。不显示mode-line只有把它设为nil

mode-line-inactive 这个 face 设成和背景一樣,或高度设为 0。

1 个赞

height设为零会报错,可能只能用一样的背景色假装不显示了。

设为 0.1 也可以啊。

效果还行,我再把一些小地方改一改就可以了

你是想给表示active window的那个变量加一个hook, 每次这个变量的值变化时, 就改变mode-line的表示方式吗?

  1. 原生沒这种 hook

  2. 自己加 advice 效果不好

  3. 因為如果在 advice 里 (setq mode-line-format nil),在不同 window 顕示同个 buffer 时只能同时开或关 mode-line。

1 个赞