doom-modeline inactive时PDF页码背景的显示

在Spacemacs里面查看PDF时doom-modeline在active状态一切显示正常,但是在inactive状态下PDF页码显示的背景没有改变,详情见图。

Active:

Inactive:

我查看了doom-modeline代码中PDF页码显示的片段,没发现什么问题:

(setq doom-modeline--pdf-pages
    (propertize
     (format "  P%d/%d "
             (eval `(pdf-view-current-page))
             (pdf-cache-number-of-pages))
     'face (if (doom-modeline--active) 'mode-line 'mode-line-inactive)))

请问一下大家有没有遇到类似的问题,非常感谢如果能提供解决方案。

Update: 怀疑可能和https://github.com/seagle0128/doom-modeline/issues/114有关,但是不知道怎么改。

发现可能不是Helm的问题,使用Ivy一样会有这个问题,应该是 Spacemacs和doom-modeline兼容的问题。只要一按SPC键这个问题就会出现。呼吁doom-modeline的作者拨冗看一下 @seagle0128 感谢感谢~

麻烦都给点上下文吧,这样不知道怎么入手。我本地测试没有这个问题。

建议你用原生Emacs测试下,或者换其他主题试试。另外建议再检查下你的pdf-tools的配置。个人没有使用spacemacs。

不好意思,没有把情况交代清楚。我根据你的建议,下载了原生Emacs (https://emacsformacosx.com/)并且fresh install了doom emacs (只安装了pdf module,没有做其他任何设置)。之后我使用doom-one和doom-nord-light两个theme来检验刚才的问题,问题仍然存在(每次按下SPC键之后pdf的页码显示和modeline周围其他地方不一样,呼出ivy之后又没有问题了),详情见下图。

Doom-one:

Doom-nord-light:

macos 10.15.4, emacs-plus 27.0.90, doom-emacs , 使用 doom-one 及 doom-nord-light 主题,没复现 lz 说的情况。

请问你是在用pdf-tools查看pdf文件的时候测试的吗?

我新安装了Centaur Emacs查看PDF也有类似的问题,应该是在呼出which-key的时候doom-modeline的某些UI仍然觉得modeline是active状态,可能不只有pdf-tools有问题。

centaur 注:图中显示页码的字体foreground和其他不同。

我在macOS、ubuntu和Windows 10上都没有重现,唯一区别就是用的Emacs28.0.50.

image

我好奇你上面截图时,焦点是在哪个窗口?

Update:我知道了,你的焦点是在frame外,对不对?你的环境挺奇怪啊

这个确实好奇怪,好像大家都没问题。我在doom emacs录了一下,不知道是不是能解释你说的焦点在frame里面和外面的问题。多谢花费时间帮我看这个问题,实在不行我就把modeline active和inactive时候的background调成一样,foreground影响不大,有点不一致可以接受。

screen

一般使用which-key,焦点会在当前frame的某个窗口中,但你这个直接到frame外了。我正在看能不能解决这个问题。

提交了一个patch 解决这个问题,请测试。

1 个赞

完美解决,感谢感谢!