学习Emacs不久,最近几天开始用doom。有两个modeline问题:
- 非常耗时,需要0.5s左右。不只是doom modeline的问题,就算用spaceline替换,似乎加载也是要耗时0.5s。
- modeline的高度问题。可能是设置了什么最小高度限制逻辑?就算设置到最小了,对13寸笔记本还是太高。
学习Emacs不久,最近几天开始用doom。有两个modeline问题:
(set-face-attribute 'mode-line nil :font
(format "%s :size=%d" "MonacoB" 28))
(set-face-attribute 'mode-line-inactive nil :font
(format "%s :size=%d" "MonacoB" 28))
修改modeline的字体大小。
写在doom-modeline启动后。注意调整为自己的字体。
项目官网的issue也有一个方案,不过那个我试了试,效果不太好,干脆就调整字体大小了
看了几周elisp指南,还没看到face部分,对你说的配置代码不知道什么意思。设置了似乎不管用。 所以暂时把modeline插件注释了,然后添加了spaceline
(use-package spaceline
:config
(defvar my-spaceline-on t)
(defun my-load-modeline ()
(when my-spaceline-on
(spaceline-spacemacs-theme)
(setq my-spaceline-on nil)))
(add-hook 'find-file-hook #'my-load-modeline)
(run-with-idle-timer 3 0 #'my-load-modeline))
目前看是对初始启动时间没影响,就是第一次打开文件的时候慢半秒。
你直接在 use-package 的 config 中加入提到的字体设置的几行就可以了(字体那里要改成自己的,另外:size
前面我这不能有空格):
(use-package doom-modeline
:ensure t
:hook (after-init . doom-modeline-mode)
:config
(set-face-attribute 'mode-line nil :font
(format "%s:size=%d" "Source Code Pro" 12))
(set-face-attribute 'mode-line-inactive nil :font
(format "%s:size=%d" "Source Code Pro" 12))
(setq inhibit-compacting-font-caches t
doom-modeline-buffer-file-name-style 'auto
doom-modeline-buffer-encoding nil))
update: 如果通过 fontset 的方式为中文单独设置了字体大小,为了保证 modeline 高度始终一致,可以考虑新建一个 fontset
(use-package doom-modeline
:ensure t
:hook (emacs-startup . doom-modeline-mode)
:config
(create-fontset-from-ascii-font "Source Code Pro:medium" nil "modeline")
(set-face-attribute 'mode-line nil :height 120 :fontset "fontset-modeline")
(set-face-attribute 'mode-line-inactive nil :height 120 :fontset "fontset-modeline")
(setq inhibit-compacting-font-caches t
doom-modeline-height 1
doom-modeline-buffer-file-name-style 'auto
doom-modeline-icon nil
doom-modeline-project-detection 'project))
再加上这几行,差不多可以用了。感谢
(setq doom-modeline-height 1)
(set-face-attribute 'mode-line nil :height 100)
(set-face-attribute 'mode-line-inactive nil :height 100)