如果将 theme 相关逻辑放到 init.el
,Emacs 启动时会闪一下白色背景,半夜十分晃眼睛。其实解决起来很简单:
- 将 theme 相关逻辑放到
early-init.el
,但此时 package 并未初始化,如果你想使用包里的主题或 根据时间切换 emacs theme 的包 emacs -bg black
但是每次启动要加参数麻烦- 等同于在
early-init.el
中 (emacs27+)
(add-to-list 'default-frame-alist '(background-color . "black"))
但白色主题就会闪一下黑屏。
- 所以可以加个时间判断(我个人用的这个)
(let ((hour-now (string-to-number (format-time-string "%H"))))
(if (>= hour-now 20)
(add-to-list 'default-frame-alist '(background-color . "black"))))
需要注意的是,early-init.el
阶段 (display-graphic-p)
为 nil,不能也没有必要用它判断是否为 GUI。
- pif.el 会将上一次使用的主题背景保存
希望对大家的眼睛有些帮助