From ead4ec910f0caaaa1d63ea445dd10e4b1e45249a Mon Sep 17 00:00:00 2001 From: Thomas Ulmer Date: Thu, 23 Oct 2025 09:58:13 -0700 Subject: globals to global minor mode --- emacs/init.el | 44 ++++++++++++++++++++++++++++---------------- 1 file changed, 28 insertions(+), 16 deletions(-) (limited to 'emacs') diff --git a/emacs/init.el b/emacs/init.el index 1e41e3f..10e7ed9 100644 --- a/emacs/init.el +++ b/emacs/init.el @@ -920,22 +920,34 @@ changes." ;; (setq x-super-keysym 'meta) -(global-set-key (kbd "C-x C-C") 'save-buffers-kill-terminal) -(global-set-key (kbd "C-x C-c") 'my/close-or-kill) -(global-set-key (kbd "M-w") 'copy-region-as-kill) ; make copying not flash cursor -(global-set-key (kbd "C-x -") 'my/swap-other-window-buffer) -(global-set-key (kbd "M-(") 'my/wrap-region-paren) -(global-set-key (kbd "M-z") 'my/zap-whitespace) -(global-set-key (kbd "C-M-z") 'my/wrap-sexp) -(global-set-key (kbd "M-o") 'other-window) -(global-set-key (kbd "M-c") 'calc) -(global-set-key (kbd "M-U") 'scroll-lock-mode) -(global-set-key (kbd "M-Q") 'auto-fill-mode) -(global-set-key (kbd "M-A") 'beginning-of-line-text) -(global-set-key (kbd "C-c r") 'raise-sexp) -(global-set-key (kbd "M-\"") 'my/activate-mark) - -(global-set-key (kbd "C-x w o") 'my/toggle-window-other-reachability) +(define-minor-mode my/keys-mode + "Minor mode collecting global keybinds" + :global t + :keymap (make-sparse-keymap)) + +;; The keymaps in `emulation-mode-map-alists' take precedence over +;; `minor-mode-map-alist' +(add-to-list 'emulation-mode-map-alists + '((my/keys-mode . my/keys-keymap))) + +(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-(" '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) +(keymap-set my/keys-mode-map "M-o" 'other-window) +(keymap-set my/keys-mode-map "M-c" 'calc) +(keymap-set my/keys-mode-map "M-U" 'scroll-lock-mode) +(keymap-set my/keys-mode-map "M-Q" 'auto-fill-mode) +(keymap-set my/keys-mode-map "M-A" 'beginning-of-line-text) +(keymap-set my/keys-mode-map "C-c r" 'raise-sexp) +(keymap-set my/keys-mode-map "M-\"" 'my/activate-mark) +(keymap-set my/keys-mode-map "C-x w o" 'my/toggle-window-other-reachability) + +(my/keys-mode 1) + (advice-add 'mode-line-window-control :around (lambda (f) (concat (funcall f) (if (window-parameter nil 'no-other-window) "o" ""))) -- cgit v1.2.3