summaryrefslogtreecommitdiff
path: root/modules
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
commitcbdd0729f75721f246de94661a6ee83505d83399 (patch)
treef72b950df21d0af55daa09c7415d7473c503ae1c /modules
parent33584111a5a6146936f9b8c0a89aa907c4fc629c (diff)
fix(keyboard): support daemon mode for M-S- key translationsHEADmain
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')
-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 9b277ba8..735839eb 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