2025-12-14 04:51:24 +11:00
|
|
|
;; -*- lexical-binding: t -*-
|
|
|
|
|
|
|
|
|
|
(setq idle-update-delay 1.0)
|
|
|
|
|
|
|
|
|
|
(setq-default cursor-in-non-selected-windows nil)
|
|
|
|
|
(setq highlight-nonselected-windows nil)
|
|
|
|
|
|
|
|
|
|
(setq fast-but-imprecise-scrolling t)
|
|
|
|
|
(setq redisplay-skip-fontification-on-input t)
|
|
|
|
|
|
|
|
|
|
(setq frame-inhibit-implied-resize t
|
|
|
|
|
frame-resize-pixelwise t)
|
|
|
|
|
|
|
|
|
|
(use-package solaire-mode
|
|
|
|
|
:hook (after-init . solaire-global-mode))
|
|
|
|
|
(use-package ef-themes
|
|
|
|
|
:ensure t
|
|
|
|
|
:init
|
|
|
|
|
;; This makes the Modus commands listed below consider only the Ef
|
|
|
|
|
;; themes. For an alternative that includes Modus and all
|
|
|
|
|
;; derivative themes (like Ef), enable the
|
|
|
|
|
;; `modus-themes-include-derivatives-mode' instead. The manual of
|
|
|
|
|
;; the Ef themes has a section that explains all the possibilities:
|
|
|
|
|
;;
|
|
|
|
|
;; - Evaluate `(info "(ef-themes) Working with other Modus themes or taking over Modus")'
|
|
|
|
|
;; - Visit <https://protesilaos.com/emacs/ef-themes#h:6585235a-5219-4f78-9dd5-6a64d87d1b6e>
|
|
|
|
|
(ef-themes-take-over-modus-themes-mode 1)
|
|
|
|
|
:bind
|
|
|
|
|
(("<f5>" . modus-themes-rotate)
|
|
|
|
|
("C-<f5>" . modus-themes-select)
|
|
|
|
|
("M-<f5>" . modus-themes-load-random))
|
|
|
|
|
:config
|
|
|
|
|
;; All customisations here.
|
|
|
|
|
(setq modus-themes-mixed-fonts t)
|
|
|
|
|
(setq modus-themes-italic-constructs t)
|
|
|
|
|
|
|
|
|
|
;; Finally, load your theme of choice (or a random one with
|
|
|
|
|
;; `modus-themes-load-random', `modus-themes-load-random-dark',
|
|
|
|
|
;; `modus-themes-load-random-light').
|
|
|
|
|
(modus-themes-load-theme 'ef-day))
|
|
|
|
|
|
|
|
|
|
(use-package rainbow-delimiters
|
|
|
|
|
:hook ((prog-mode . rainbow-delimiters-mode)
|
|
|
|
|
(typst-ts-mode . rainbow-delimiters-mode)
|
|
|
|
|
(foo-mode . rainbow-delimiters-mode)))
|
|
|
|
|
|
|
|
|
|
(use-package doom-modeline
|
|
|
|
|
:init (doom-modeline-mode 1))
|
|
|
|
|
|
|
|
|
|
(use-package hide-mode-line
|
|
|
|
|
:autoload turn-off-hide-mode-line-mode
|
|
|
|
|
:hook (((eat-mode
|
|
|
|
|
eshell-mode shell-mode
|
|
|
|
|
term-mode vterm-mode
|
|
|
|
|
embark-collect-mode lsp-ui-imenu-mode
|
|
|
|
|
pdf-annot-list-mode) . turn-on-hide-mode-line-mode)))
|
|
|
|
|
|
|
|
|
|
;; Suppress GUI features
|
|
|
|
|
(setq use-file-dialog nil
|
|
|
|
|
use-dialog-box nil
|
|
|
|
|
inhibit-startup-screen t
|
|
|
|
|
inhibit-startup-echo-area-message user-login-name
|
|
|
|
|
inhibit-default-init t
|
|
|
|
|
initial-scratch-message nil)
|
|
|
|
|
(unless (daemonp)
|
|
|
|
|
(advice-add #'display-startup-echo-area-message :override #'ignore))
|
|
|
|
|
|
|
|
|
|
;; Display dividers between windows
|
|
|
|
|
(setq window-divider-default-places t
|
|
|
|
|
window-divider-default-bottom-width 1
|
|
|
|
|
window-divider-default-right-width 1)
|
|
|
|
|
(add-hook 'window-setup-hook #'window-divider-mode)
|
|
|
|
|
|
|
|
|
|
(pcase system-type
|
|
|
|
|
('darwin ; macOS
|
2025-12-14 09:04:11 +11:00
|
|
|
(set-face-attribute 'default nil :font "Maple Mono NF CN-18")
|
2025-12-14 04:51:24 +11:00
|
|
|
(add-to-list 'default-frame-alist '(height . 53))
|
|
|
|
|
(add-to-list 'default-frame-alist '(width . 120)))
|
|
|
|
|
|
|
|
|
|
('gnu/linux ; Linux (including Debian)
|
2025-12-14 09:04:11 +11:00
|
|
|
(set-face-attribute 'default nil :font "Maple Mono NF CN-18") ; 20 * 1.5
|
2025-12-14 04:51:24 +11:00
|
|
|
(add-to-list 'default-frame-alist '(height . 40))
|
|
|
|
|
(add-to-list 'default-frame-alist '(width . 100))))
|
|
|
|
|
|
|
|
|
|
|
2025-12-14 06:12:41 +11:00
|
|
|
(use-package diff-hl
|
|
|
|
|
:init (global-diff-hl-mode))
|
2025-12-14 04:51:24 +11:00
|
|
|
|
|
|
|
|
;; Easily adjust the font size in all frames
|
|
|
|
|
(use-package default-text-scale
|
|
|
|
|
:hook (after-init . default-text-scale-mode)
|
|
|
|
|
:bind (:map default-text-scale-mode-map
|
|
|
|
|
("s-=" . default-text-scale-increase)
|
|
|
|
|
("s--" . default-text-scale-decrease)
|
|
|
|
|
("s-0" . default-text-scale-reset)
|
|
|
|
|
("C-s-=" . default-text-scale-increase)
|
|
|
|
|
("C-s--" . default-text-scale-decrease)
|
|
|
|
|
("C-s-0" . default-text-scale-reset)))
|
|
|
|
|
|
|
|
|
|
(setq hscroll-step 1
|
|
|
|
|
hscroll-margin 2
|
|
|
|
|
scroll-step 1
|
|
|
|
|
scroll-margin 0
|
|
|
|
|
scroll-conservatively 100000
|
|
|
|
|
scroll-preserve-screen-position t
|
|
|
|
|
auto-window-vscroll nil
|
|
|
|
|
;; mouse
|
|
|
|
|
mouse-wheel-scroll-amount-horizontal 1
|
|
|
|
|
mouse-wheel-progressive-speed nil)
|
|
|
|
|
|
|
|
|
|
(provide 'init-ui)
|