doom-modeline - 源自doom emacs 的 mode-line

这是我的错,描述不清楚,当时想的是贴出不起作用的那个,结果…就被误会了

这个是起作用的:

(doom-modeline-def-modeline 'main
                            '(workspace-number window-number bar evil-state " " buffer-position  " " selection-info)
                            '(buffer-encoding major-mode vcs flycheck))

OK,明白了。我使用你的配置在Windows和macOS上都不能重现该问题。

再请试试这两个。告诉我哪个编号成功即可。

#1

(doom-modeline-def-modeline 'main
                            '(workspace-number window-number bar evil-state matches " " buffer-info buffer-position  " " selection-info)
                            '(global buffer-encoding major-mode process vcs flycheck))

#2

(doom-modeline-def-modeline 'main
                            '(workspace-number window-number bar evil-state matches " " buffer-info-simple buffer-position  " " selection-info)
                            '(global buffer-encoding major-mode process vcs flycheck))

#1成功,而且mode-line比前一个有效的显示内容多一些,见图红框标记部分

我怎么觉得你用的是#2呢?anyway,你用这个配置吧,应该足够了。:smile:

啊,惭愧。真的是2#

最近更新后产生如下错误

(eval (doom-modeline-format--main)) signaled (wrong-type-argument stringp nil)

是更新到的最新版本吗?具体环境是什么,包括安装包? 这个错误没有什么有用信息,最直接的办法是逐个删除 main 里面的 segment,看看是由哪个引起的错误。

(doom-modeline-def-modeline 'main
                            '(workspace-number window-number bar evil-state matches " " buffer-info buffer-position " " selection-info)
                            '(global buffer-encoding major-mode process vcs flycheck))

我用的是spacemacs,确实是刚更新的版本,挨个试了一下,发现是 buffer-info产生的问题

试试(setq doom-modeline-buffer-file-name-style 'file-name) 或者 `(setq doom-modeline-buffer-file-name-style 'relative-to-project)

用这两种样式都没有发现问题。

如果直接用默认样式的话,启动时似乎并没有问题,但是一旦打开一个文件,就会出现这种错误。

我怀疑和文件路径有关,你能贴出完整路径吗?

是说被打开文件的路径吗?随便哪个文件都有问题。试了试truncate-upto-root和truncate-all这两种样式,虽然可以显示文件路径,但是着色有问题,有以下错误

Invalid face reference: doom-modeline-project-root-dir

Invalid face attribute :inherit doom-modeline-project-root-dir

@xiangsheng 这确实是个问题,已经fix,请升级看看。另外那个 issue,可能跟 project 有关,你的文件应该都不在任何 project 中。

着色问题修复了。另外那个问题应该确实是缺少项目文件引起的,我在有项目文件的目录里面打开文件就很正常。能否在没有项目的目录中fallback到比如truncate-upto-root的样式?毕竟不太可能在所有目录中都建立项目。

已经fix 这个问题,请升级试试。

确认问题已经修复,谢谢!

不客气,enjoy

建议每个 release 加上 changelog,最好每个changelog 带上PR地址

谢谢,有时间我会加上。

mu4e-alert 会导致emacs启动的时候modeline在misc处显示“*Invalid*”。 应该是 global-mode-string 里面的(:eval mu4e-alert-mode-line) 导致的,好像这个变量在doom modeline加载之后就是一个数了。

如果未读邮件数不是0,这个“*Invalid*”很快就没有了,如果是0,会一直存在。