diff options
author | Thomas Voss <mail@thomasvoss.com> | 2024-09-10 14:24:54 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2024-09-10 14:24:54 +0200 |
commit | 52d3eb512bf084bfb3211f8c958b7e0af0969838 (patch) | |
tree | 30494cb08dfe7cbcc0dc41581ed0b021edb9519b /.config/emacs/early-init.el | |
parent | 7a66bbc37bd156e89c22caa82d1b9656713ae694 (diff) |
emacs: Use x-set everywhere
Diffstat (limited to '.config/emacs/early-init.el')
-rw-r--r-- | .config/emacs/early-init.el | 87 |
1 files changed, 67 insertions, 20 deletions
diff --git a/.config/emacs/early-init.el b/.config/emacs/early-init.el index 85f13b0..e5fef0d 100644 --- a/.config/emacs/early-init.el +++ b/.config/emacs/early-init.el @@ -1,5 +1,15 @@ ;;; early-init.el --- Emacs early init file -*- lexical-binding: t; -*- +(defmacro x-set (&rest body) + (declare (indent 0)) + (unless (zerop (% (length body) 2)) + (error "Uneven number of variable+value pairs")) + (macroexp-progn + (mapcar + (lambda (pair) + `(customize-set-variable ,(macroexp-quote (car pair)) ,(cadr pair))) + (seq-split body 2)))) + (defconst 1-KiB 1024 "The number of bytes in 1 kibibyte") @@ -36,29 +46,66 @@ x-data-directory)) (make-directory dir 'parents)) -(setq user-emacs-directory x-cache-directory - auto-save-list-file-prefix (expand-file-name - "auto-save-list/" - x-cache-directory) - backup-directory-alist `(("." . ,(expand-file-name - "backups" - x-cache-directory)))) +(x-set + user-emacs-directory x-cache-directory + auto-save-list-file-prefix (expand-file-name + "auto-save-list/" x-cache-directory) + backup-directory-alist `(("." . ,(expand-file-name + "backups" x-cache-directory)))) -(when (featurep 'native-compile) +(when (native-comp-available-p) (startup-redirect-eln-cache (expand-file-name (expand-file-name "eln/" x-cache-directory)))) -;; Don’t call the garbage collector during initialization -(setq gc-cons-threshold most-positive-fixnum) -(add-hook 'after-init-hook - (lambda () (setq gc-cons-threshold (* 512 1-MiB)))) +;; Temporarily set some variables to improve startup performance. We +;; undo this in a following hook +(let ((saved-file-name-handler-alist file-name-handler-alist) + (saved-vc-handled-backends vc-handled-backends)) + (x-set + gc-cons-threshold most-positive-fixnum + gc-cons-percentage .5 + file-name-handler-alist nil + vc-handled-backends nil) + (add-hook 'emacs-startup-hook + (lambda () + (x-set + gc-cons-threshold (* 8 1-MiB) + gc-cons-percentage 0.1 + file-name-handler-alist saved-file-name-handler-alist + vc-handled-backends saved-vc-handled-backends)))) + +(x-set read-process-output-max + (let ((pipe-size-file "/proc/sys/fs/pipe-max-size")) + (if (file-exists-p pipe-size-file) + (with-temp-buffer + (insert-file-contents pipe-size-file) + (number-at-point)) + 1-MiB))) + +(menu-bar-mode -1) +(scroll-bar-mode -1) +(tool-bar-mode -1) -(setq read-process-output-max - (let ((pipe-size-file "/proc/sys/fs/pipe-max-size")) - (if (file-exists-p pipe-size-file) - (with-temp-buffer - (insert-file-contents pipe-size-file) - (number-at-point)) - 1-MiB))) +(x-set + frame-resize-pixelwise t + frame-inhibit-implied-resize t + frame-title-format '("%b") + ring-bell-function #'ignore + use-dialog-box t + use-file-dialog nil + use-short-answers t + inhibit-splash-screen t + inhibit-startup-screen t + inhibit-x-resources t + inhibit-startup-echo-area-message user-login-name + inhibit-startup-buffer-menu t) -(setq package-enable-at-startup nil) +;; Avoid the initial flash of white light when starting emacs +(setq mode-line-format nil) +(set-face-attribute 'default nil + :background "#2B303B" + :foreground "#C5C8C6") +(set-face-attribute 'mode-line nil + :background "#2B303B" + :foreground "#C5C8C6" + :box 'unspecified) |