(let ((modes
'(blink-cursor-mode
tooltip-mode
tool-bar-mode
menu-bar-mode
scroll-bar-mode)))
(dolist (mode modes)
(when (fboundp mode)
(funcall mode -1))))
(setq-default cursor-in-non-selected-windows nil)
(setq frame-title-format nil
default-frame-alist
'((left-fringe . 0)
(right-fringe . 0)
(internal-border-width . 24)))
(setq window-divider-default-right-width 24)
(window-divider-mode 1)
(defun +nanolize (&rest args)
(interactive)
(let* ((background
(plist-get (custom-face-attributes-get 'default nil)
:background))
(mode-line
(plist-get (custom-face-attributes-get 'mode-line nil)
:background))
(mode-line-active
(or (plist-get (custom-face-attributes-get 'mode-line-active nil)
:background)
mode-line))
(mode-line-inactive
(or (plist-get (custom-face-attributes-get 'mode-line-inactive nil)
:background)
mode-line)))
(dolist (face '(window-divider
window-divider-first-pixel
window-divider-last-pixel))
(set-face-attribute face nil :foreground background))
(set-face-attribute 'mode-line-active nil
:box `(:line-width 6 :color ,mode-line-active :style nil))
(set-face-attribute 'mode-line-inactive nil
:box `(:line-width 6 :color ,mode-line-inactive :style nil))))
(+nanolize)
(advice-add 'enable-theme :after '+nanolize)
nano-theme 的窗口间隔效果是通过 internal-border-width 和 window-divider-mode 实现的,我糊了一个函数在切换主题时设置窗口间隔和 mode-line 边框的颜色。放几张截图: