From 190a4ae346467d394e917d281e526d27ff511db4 Mon Sep 17 00:00:00 2001 From: Daneel Date: Sat, 28 Feb 2026 16:49:40 +0100 Subject: [PATCH] config: corfu-terminal on macOS GUI for VoiceOver accessibility Child frames cause VoiceOver to announce 'X window' and break focus tracking. corfu-terminal renders via overlays, which the VoiceOver overlay completion patch (0007) handles automatically. --- config.el | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) 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))