refactor: Adjust initialisation of fonts & frame

This commit is contained in:
Madeleine Sydney
2025-02-02 14:51:04 -07:00
parent aaf28d701d
commit d31f83e4e4

View File

@@ -1,7 +1,9 @@
;;; syd-ui.el -*- lexical-binding: t; -*-
(require 'syd-prelude)
(defvar syd-fixed-pitch-font
(font-spec :family "VictorMono NF" :size 13)
(font-spec :family "VictorMono Nerd Font" :size 13)
"Default fixed-pitch (monospace) font.")
(defvar syd-variable-pitch-font
@@ -13,9 +15,40 @@
:config
(load-theme 'kanagawa-wave t))
(defun syd-init-fonts-h ()
"Loads `syd-fixed-pitch-font' and `syd-variable-pitch-font'."
(dolist (map `((default . ,syd-fixed-pitch-font)
(fixed-pitch . ,syd-fixed-pitch-font)
(variable-pitch . ,syd-variable-pitch-font)))
(pcase-let ((`(,face . ,font) map))
(set-face-attribute face nil
:width 'normal :weight 'normal
:slant 'normal :font font))))
(defun syd-configure-default-frame-h ()
"Customise the default frame, primarily by adding to `default-frame-alist'."
;; Maximise the frame.
;; (add-to-list 'default-frame-alist '(fullscreen . maximized))
;; Disable the titlebar and borders (decorations).
(add-to-list 'default-frame-alist '(undecorated . t)))
(let ((hook (if (daemonp)
'server-after-make-frame-hook
'after-init-hook)))
(add-hook hook #'syd-init-fonts-h)
(add-hook hook #'syd-init-fonts-h))
;; Use JuliaMono as a fallback for some glyphs that VictorMono does not cover.
(dolist (char-range '((#x0250 . #x02af) ; IPA extensions
(#x2200 . #x22FF))) ; Mathematical operators
(set-fontset-font "fontset-default" char-range "JuliaMono"))
(use-package emacs
;; Display (relative) line numbers only in prog-mode derivatives.
:hook ((prog-mode-hook . display-line-numbers-mode))
:hook ((prog-mode-hook . display-line-numbers-mode)
;; (on-init-ui-hook . syd-configure-default-frame-h)
;; (on-init-ui-hook . syd-init-fonts-h)
)
:custom ((display-line-numbers-type 'relative)
;; Always ask "y/n"; never "yes/no".
(use-short-answers t)
@@ -36,27 +69,7 @@
;; Disable the menu bar, scroll bar, and tool bar.
(menu-bar-mode -1)
(scroll-bar-mode -1)
(tool-bar-mode -1)
;; Configuring the defaults for newly-created frames:
;; Set default font.
;; (add-to-list 'default-frame-alist '(font . "VictorMono NF"))
;; Disable the titlebar and borders (decorations).
(add-to-list 'default-frame-alist '(undecorated . t))
;; Maximise the window.
;; (add-to-list 'default-frame-alist '(fullscreen . maximized))
;; Set the default font... again? No! Earlier, we said "when creating a new
;; frame use this font." This call instead defines the face used for
;; "default" text to use this font.
(set-face-attribute 'default nil :font syd-fixed-pitch-font)
(set-face-attribute 'variable-pitch nil :font syd-variable-pitch-font)
;; Use JuliaMono as a fallback for some glyphs that VictorMono does not cover.
(dolist (char-range '((#x0250 . #x02af) ; IPA extensions
(#x2200 . #x22FF))) ; Mathematical operators
(set-fontset-font "fontset-default" char-range "JuliaMono")))
(tool-bar-mode -1))
(use-package persp-mode
:disabled