emacsclient 启动后的 theme 跟正常启动有些许色差

不知道大家有没有碰到这样一个问题, 我在terminal下使用emacsclient打开一个frame和用emcas打开一个frame,them颜色会有些许的差异. 我用的是theme是doom-dracula 操作系统是osx Monterey 笔记本是17款的Mac air 差异如下: 使用emacsclient打开的情况下

使用emacs打开的情况下 可以看到使用emacsclient打开的情况下,明显偏黑.

terminal不支持真彩. 细节见 GitHub - redguardtoo/emacs.d: Fast and robust Emacs setup.

说话要说清楚。

emacsclient 可以打开一个 TUI Client,也可以打开一个 GUI Client。

如果是 TUI Client,则可能:

  1. 你的环境很旧,终端/Emacs 都是老版本,不支持真彩色。

  2. 终端/Emacs 都是新版本,支持真彩色,但你没设置好。运行 emacs -Q -nw -f list-colors-display 看不是有 500 多种色彩,是的话排除本条。

    另外,TUI 色彩再怎么真也不如 GUI 丰富,不排除是 theme 本身的问题。

如果是 GUI Client,则可能:

  1. 因为 emacsclient 启动过程中 window-system 发生了变化,导致 theme/face 设置错误:《Daemon 模式下的一个坑》

这是我见过的标题名字最长的提问,快要超出屏幕了。:smile:

不对,是第二长,还有一个更长的。

感觉自己表述的不是很清楚 事情是这样的.

  1. 我在iterm2下使用了 brew service start emacs, 启动了emacs daemon.
  2. 我使用emacsclient -nw 在iterm2下打开了一个frame.
  3. 我使用emacs -nw 在iterm2下又打开了一个frame
  4. 这两个frame的颜色有些许的不一致.
  5. 然后我使用getenv查看了这两个emacs进程下的环境变量, 发现emacs daemon的环境变量数量明显少.

自己排查了一下, 问题应该出在 launchctl 在启动 emacs 的时候没有读取我 .zshenv 文件里面的环境变量.

建议修改标题:

- 连接emacsclient打开frame和直接启动emacs在terminal下同一个theme颜色有些许差异
+ emacsclient 启动后的 theme 跟正常启动有些许色差

标题把主要意思表达出来就可以了,细节可以在正文描述。

1 个赞