From cbdd0729f75721f246de94661a6ee83505d83399 Mon Sep 17 00:00:00 2001 From: Craig Jennings Date: Mon, 9 Feb 2026 16:11:42 -0600 Subject: fix(keyboard): support daemon mode for M-S- key translations MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- modules/keyboard-compat.el | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'modules/keyboard-compat.el') 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 -- cgit v1.2.3