doomemacs/modules/ui/unicode/autoload.el
Henrik Lissner 05303c0fdb
💥 Rethink core hook order & naming
- doom-post-init-hook was renamed doom-init-modules-hook
- doom-init-hook was renamed doom-before-init-modules-hook
- doom-init-modules-hook now runs before the user's config.el is run
- Moved doom-init-ui-hook to run later (on window-setup-hook rather than
  emacs-startup-hook).

Yield a modest improvement in startup times.
2019-03-04 20:47:26 -05:00

23 lines
783 B
EmacsLisp

;;; ui/unicode/autoload.el -*- lexical-binding: t; -*-
;;;###autoload
(add-hook 'doom-init-ui-hook #'+unicode|init-fonts)
;;;###autoload
(defun +unicode|init-fonts ()
"Set up `unicode-fonts' to eventually run; accomodating the daemon, if
necessary."
(setq-default bidi-display-reordering t
doom-unicode-font nil)
(if initial-window-system
(+unicode|setup-fonts (selected-frame))
(add-hook 'after-make-frame-functions #'+unicode|setup-fonts)))
;;;###autoload
(defun +unicode|setup-fonts (&optional frame)
"Initialize `unicode-fonts', if in a GUI session."
(when (and frame (display-graphic-p frame))
(with-selected-frame frame
(require 'unicode-fonts)
;; NOTE will impact startup time on first run
(unicode-fonts-setup))))