diff --git a/config.el b/config.el index bc2ec9c..146ad1e 100644 --- a/config.el +++ b/config.el @@ -662,10 +662,14 @@ Skip for beamer exports — beamer uses adjustbox on plain tabular." (lambda () (add-hook 'completion-at-point-functions #'yasnippet-capf 0 t))))) -;; Corfu popup in terminal — only for Emacs < 31 (31+ handles it natively) +;; Corfu popup rendering: use overlays instead of child frames. +;; On macOS (NS), child frames cause VoiceOver to announce "X window" +;; and break focus tracking. corfu-terminal renders via overlays, +;; which patch 0007 (overlay completion) handles automatically. +;; On terminal Emacs < 31, also needed (31+ handles it natively). (use-package! corfu-terminal - :when (and (not (display-graphic-p)) - (< emacs-major-version 31)) + :when (or (not (display-graphic-p)) + (eq window-system 'ns)) :after corfu :config (corfu-terminal-mode +1))