fix: SPC leader key in GUI Emacs on macOS (general-override-mode + explicit binding)
This commit is contained in:
21
config.el
21
config.el
@@ -95,6 +95,27 @@
|
||||
mac-option-modifier 'meta
|
||||
mac-right-option-modifier 'none))
|
||||
|
||||
;; Fix C: SPC as leader key in GUI Emacs
|
||||
;; In GUI mode, general-override-mode may not be active, so evil's default
|
||||
;; SPC binding (evil-forward-char) takes precedence over Doom's leader key.
|
||||
;; Force-enable general-override-mode and re-apply SPC → doom-leader-map.
|
||||
(after! (evil general)
|
||||
(general-override-mode +1))
|
||||
|
||||
(defun my/fix-gui-leader-key (&optional _frame)
|
||||
"Bind SPC to `doom-leader-map' in evil normal/motion states.
|
||||
Called for the initial GUI frame and any subsequent frames."
|
||||
(when (and (display-graphic-p)
|
||||
(boundp 'doom-leader-map)
|
||||
(boundp 'evil-normal-state-map))
|
||||
(define-key evil-normal-state-map (kbd "SPC") doom-leader-map)
|
||||
(define-key evil-motion-state-map (kbd "SPC") doom-leader-map)))
|
||||
|
||||
;; Apply on every new GUI frame (covers emacsclient -c too)
|
||||
(add-hook 'after-make-frame-functions #'my/fix-gui-leader-key)
|
||||
;; Apply for the initial frame after Doom finishes init
|
||||
(add-hook 'doom-after-init-hook #'my/fix-gui-leader-key)
|
||||
|
||||
|
||||
;;; ============================================================
|
||||
;;; PERFORMANCE & GC
|
||||
|
||||
Reference in New Issue
Block a user