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-option-modifier 'meta
|
||||||
mac-right-option-modifier 'none))
|
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
|
;;; PERFORMANCE & GC
|
||||||
|
|||||||
Reference in New Issue
Block a user