Closed cireu closed 5 years ago
想了下不太现实,mode-line-format
是buffer local变量
不过如何让daemon启动也强制使用GUI的mode-line format呢
这样的使用方式不对。为何不在GUI下使用server-mode
? 你非要daemon模式下使用icon,直接将doom-modeline-icon
强制设为t。
因为在GUI下使用server-mode时Emacs不能隐藏到后台,这样C-x C-c
按得太爽就把server给杀了
目前的我的尝试是:如果daemon模式下启动,则把doom-modeline-mode
函数挂在after-make-frame-functions
钩子上,否则挂在after-init-hook
钩子上。这样做是有图标了,但是还是没有padding和左边的小色块
使用exwm解决问题 :P
Is your feature request related to a problem? Please describe. 使用systemd以daemon模式启动emacs。在加载配置文件的过程
(display-graphic-p)
的返回值为nil。之后在X Window下用client连接server。all-the-icons不会被默认启用,而且modeline的上下padding也会丢失。Describe the solution you'd like Emacs 26以后没有了frame local variable。但是可以用frame-parameter。每次更新modeline时判断该部分内容,决定是否按有GUI的方式渲染modeline。
Describe alternatives you've considered A clear and concise description of any alternative solutions or features you've considered.
Additional context Add any other context or screenshots about the feature request here.