80 lines
3.2 KiB
EmacsLisp
Executable File
80 lines
3.2 KiB
EmacsLisp
Executable File
;;; syd-ui.el -*- lexical-binding: t; -*-
|
|
|
|
(defvar syd-fixed-pitch-font
|
|
(font-spec :family "VictorMono NF" :size 13)
|
|
"Default fixed-pitch (monospace) font.")
|
|
|
|
(defvar syd-variable-pitch-font
|
|
(font-spec :family "Overpass" :size 15)
|
|
"Default variable-pitch font.")
|
|
|
|
;; Beautiful theme in dark and light.
|
|
(use-package kanagawa-themes
|
|
:config
|
|
(load-theme 'kanagawa-wave t))
|
|
|
|
(use-package emacs
|
|
;; Display (relative) line numbers only in prog-mode derivatives.
|
|
:hook ((prog-mode-hook . display-line-numbers-mode))
|
|
:custom ((display-line-numbers-type 'relative)
|
|
;; Always ask "y/n"; never "yes/no".
|
|
(use-short-answers t)
|
|
;; The default value is `ask', meaning that Emacs will ask for
|
|
;; confirmation any time you follow a symlink to a file under version
|
|
;; control. The documentation claims this is "dangerous, and
|
|
;; probably not what you want;" I personally don't see it, and it's
|
|
;; usually what I want.
|
|
(vc-follow-symlinks t)
|
|
;; Log native-compiler warnings, but don't display the
|
|
;; buffer. Most of the warnings are "`X' is not known to
|
|
;; be defined" which are typically nothing worth concerning.
|
|
(native-comp-async-report-warnings-errors 'silent)
|
|
;; Don't recenter the view unless >10 lines are scrolled off-screen
|
|
;; in a single movement.
|
|
(scroll-conservatively 10))
|
|
:config
|
|
;; 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")))
|
|
|
|
(use-package persp-mode
|
|
:disabled
|
|
:unless noninteractive
|
|
:commands persp-switch-to-buffer
|
|
:hook (on-init-ui . persp-mode)
|
|
:config
|
|
(setq persp-autokill-buffer-on-remove 'kill-weak
|
|
persp-reset-windows-on-nil-window-conf nil
|
|
persp-nil-hidden t
|
|
persp-auto-save-fname "autosave"
|
|
persp-save-dir (concat syd-data-dir "workspaces/")
|
|
persp-set-last-persp-for-new-frames t
|
|
persp-switch-to-added-buffer nil
|
|
persp-kill-foreign-buffer-behaviour 'kill
|
|
persp-remove-buffers-from-nil-persp-behaviour nil
|
|
persp-auto-resume-time -1 ; Don't auto-load on startup
|
|
persp-auto-save-opt (if noninteractive 0 1)))
|
|
|
|
(provide 'syd-ui)
|