From 9a6b9dd20c9bc79288c06554afffa44dcde8f691 Mon Sep 17 00:00:00 2001 From: Thomas Ulmer Date: Sun, 14 Dec 2025 11:45:28 -0800 Subject: emacs: move slow loading packages out, window swapping --- emacs/init.el | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'emacs/init.el') diff --git a/emacs/init.el b/emacs/init.el index 051fa01..12cc4bc 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -182,6 +182,22 @@ given keymap or in the global keymap." '(0 1 2 3 4 5 6 7 8 9))) (my/c-x-n-to-m-n) +(defvar my/layout-pair (cons nil nil) "Cons pair of window configurations.") +(add-hook 'after-init-hook + (lambda () + (setq my/layout-pair (cons (current-window-configuration) + (current-window-configuration))))) +(defun my/layout-swap (&optional arg) + "Swap between the two saved configurations. With ARG, don't save the +current layout." + (interactive "P") + (let ((left (car my/layout-pair)) + (right (cdr my/layout-pair))) + (unless arg + (setq left (current-window-configuration))) + (set-window-configuration right t t) + (setq my/layout-pair (cons right left)))) + (use-package server ; allow emacsclient :demand t :config @@ -367,7 +383,7 @@ given keymap or in the global keymap." (consult-narrow-key ",") :bind ("C-x b" . consult-buffer) - ("M-S-w" . consult-buffer) + ("M-W" . consult-buffer) ("C-S-y" . consult-yank-from-kill-ring) ("M-g M-g" . consult-goto-line) ("C-S-s" . consult-line-multi) @@ -582,15 +598,6 @@ given keymap or in the global keymap." (add-hook 'prog-mode-hook 'my/prog-buffer-setup) (electric-pair-mode 1) - -(use-package eglot - :demand nil - ) -(use-package eglot-tempel - :after eglot tempel - :config - (eglot-tempel-mode 1)) - (use-package haskell-mode :custom (haskell-tags-on-save t) @@ -744,11 +751,14 @@ given keymap or in the global keymap." (add-to-list 'emulation-mode-map-alists '((my/keys-mode . my/keys-keymap))) + (setq delete-pair-blink-delay 0) + (keymap-set my/keys-mode-map "M-S" 'surround-prefix) (keymap-set my/keys-mode-map "C-x C-C" 'save-buffers-kill-terminal) (keymap-set my/keys-mode-map "C-x C-c" 'my/close-or-kill) (keymap-set my/keys-mode-map "M-w" 'copy-region-as-kill) ; make copying not flash cursor (keymap-set my/keys-mode-map "C-x -" 'my/swap-other-window-buffer) + (keymap-set my/keys-mode-map "M-R" 'my/layout-swap) (keymap-set my/keys-mode-map "M-(" 'my/wrap-region-paren) (keymap-set my/keys-mode-map "M-z" 'my/zap-whitespace) (keymap-set my/keys-mode-map "C-M-z" 'my/wrap-sexp) @@ -764,7 +774,6 @@ given keymap or in the global keymap." (my/keys-mode 1)) - (use-package time :custom (display-time-day-and-date t) @@ -804,6 +813,7 @@ given keymap or in the global keymap." ;; if you want exwm, include from ~/.emacs.d/site-lisp/my-exwm.el ;; if you want mail, include from ~/.emacs.d/site-lisp/my-mail.el +;; if you want eglot, include from ~/.emacs.d/site-lisp/my-eglot.el ;; ---------------------------------------------------------------------- ;; theme stuff -- cgit v1.2.3