patches: restructure per reviewer feedback
Major changes: 1. Zoom separated into standalone patch 0000 - UAZoomChangeFocus in ns_draw_window_cursor - Fallback in ns_update_end for window-switch tracking - No overlayZoomActive (source of split/switch/move bug) 2. VoiceOver patches 0001-0008 are now Zoom-free - All UAZoom*, overlayZoom*, kUAZoomFocus references removed - lastAccessibilityCursorRect kept for VoiceOver bounds queries - Commit messages cleaned of Zoom references 3. README.txt and TESTING.txt rewritten for new structure Addresses reviewer (Stéphane Marks) feedback: - Keep Zoom patch separate from VoiceOver work - Design discussion needed for non-Zoom patches - Performance: ns-accessibility-enabled=nil for zero overhead
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
From 6bb9020421ce0e8459d2095385972b47c64fd184 Mon Sep 17 00:00:00 2001
|
||||
From 2222c14590612835529f88c0062fefeedc8f7187 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Sukany <martin@sukany.cz>
|
||||
Date: Sat, 28 Feb 2026 14:46:25 +0100
|
||||
Subject: [PATCH 7/8] ns: announce overlay completion candidates for VoiceOver
|
||||
@@ -32,24 +32,17 @@ Key implementation details:
|
||||
Do not post SelectedTextChanged (that reads the AX text at cursor
|
||||
position, which is the minibuffer input, not the candidate).
|
||||
|
||||
- Zoom tracking: store the selected candidate's rect (at the text
|
||||
area left edge, computed from FRAME_LINE_HEIGHT) in overlayZoomRect.
|
||||
ns_draw_window_cursor checks overlayZoomActive and uses the stored
|
||||
rect instead of the text cursor rect, keeping Zoom focused on the
|
||||
candidate line start. The flag is cleared when the user types
|
||||
(BUF_CHARS_MODIFF changes) or when no candidate is found
|
||||
(minibuffer exit, C-g).
|
||||
|
||||
* src/nsterm.h (EmacsView): Add overlayZoomActive, overlayZoomRect.
|
||||
(EmacsAccessibilityBuffer): Add cachedCharsModiff.
|
||||
* src/nsterm.m (ns_ax_face_is_selected): New predicate. Match
|
||||
"current", "selected", and "selection" in face symbol names.
|
||||
(ns_ax_selected_overlay_text): New function.
|
||||
(ns_draw_window_cursor): Use overlayZoomRect when active.
|
||||
(EmacsAccessibilityBuffer ensureTextCache): Remove overlay_modiff.
|
||||
(EmacsAccessibilityBuffer postAccessibilityNotificationsForFrame:):
|
||||
Independent overlay branch, BUF_CHARS_MODIFF gating, candidate
|
||||
announcement with overlay Zoom rect storage.
|
||||
---
|
||||
src/nsterm.h | 3 +
|
||||
src/nsterm.m | 359 ++++++++++++++++++++++++++++++++++++++++++++++-----
|
||||
|
||||
Reference in New Issue
Block a user