aboutsummaryrefslogtreecommitdiff
path: root/modules/keyboard-compat.el
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-02-09 16:11:42 -0600
committerCraig Jennings <c@cjennings.net>2026-02-09 16:11:42 -0600
commit93a850256539957dcd44f2ab89135a29cee7d3f3 (patch)
treeb7589d77482d3c6bdd6cc682d66b6ccace2879df /modules/keyboard-compat.el
parent7c771efc1795c68bfd04e74de4cee9e7b79a9e5b (diff)
downloaddotemacs-93a850256539957dcd44f2ab89135a29cee7d3f3.tar.gz
dotemacs-93a850256539957dcd44f2ab89135a29cee7d3f3.zip
fix(keyboard): support daemon mode for M-S- key translations
GUI key translations (M-O → M-S-o, etc.) were never installed in daemon mode because env-gui-p returns nil at startup with no frame. Use server-after-make-frame-hook for daemon, emacs-startup-hook otherwise. Also adds timestamps to assemblyai-transcribe output.
Diffstat (limited to 'modules/keyboard-compat.el')
-rw-r--r--modules/keyboard-compat.el8
1 files changed, 6 insertions, 2 deletions
diff --git a/modules/keyboard-compat.el b/modules/keyboard-compat.el
index 9b277ba8a..735839ebd 100644
--- a/modules/keyboard-compat.el
+++ b/modules/keyboard-compat.el
@@ -163,8 +163,12 @@ Meta+Shift+letter triggers M-S-letter keybindings."
(define-key key-translation-map (kbd "M-B") (kbd "M-S-b"))
(define-key key-translation-map (kbd "M-K") (kbd "M-S-k"))))
-;; Run early - key-translation-map should be set up before keybindings
-(add-hook 'emacs-startup-hook #'cj/keyboard-compat-gui-setup)
+;; In daemon mode, no frame exists at startup so env-gui-p returns nil.
+;; Use server-after-make-frame-hook to set up translations when the first
+;; GUI client connects. In non-daemon mode, run at startup as before.
+(if (daemonp)
+ (add-hook 'server-after-make-frame-hook #'cj/keyboard-compat-gui-setup)
+ (add-hook 'emacs-startup-hook #'cj/keyboard-compat-gui-setup))
(provide 'keyboard-compat)
;;; keyboard-compat.el ends here