Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
@@ -5,14 +5,19 @@ Subject: [PATCH] ns: add macOS Zoom cursor tracking and VoiceOver accessibility
|
||||
Dual accessibility: UAZoomChangeFocus for Zoom + virtual element tree for
|
||||
VoiceOver. Notifications target the focused virtual element, not EmacsView.
|
||||
Full hierarchy plumbing (accessibilityWindow, accessibilityParent, etc.).
|
||||
MRC compatible.
|
||||
MRC compatible. Single notification path (post-redisplay only) with
|
||||
glyph-consistent coordinate system throughout.
|
||||
---
|
||||
--- a/src/nsterm.h 2026-02-26 08:46:18.118172281 +0100
|
||||
+++ b/src/nsterm.h 2026-02-26 09:08:57.204955708 +0100
|
||||
@@ -455,6 +455,34 @@
|
||||
diff --git a/src/nsterm.h b/src/nsterm.h
|
||||
index 7c1ee4c..1f9639c 100644
|
||||
--- a/src/nsterm.h
|
||||
+++ b/src/nsterm.h
|
||||
@@ -453,6 +453,34 @@ enum ns_return_frame_mode
|
||||
@end
|
||||
|
||||
/* ==========================================================================
|
||||
|
||||
+/* ==========================================================================
|
||||
+
|
||||
+ Accessibility virtual elements (macOS / Cocoa only)
|
||||
+
|
||||
+ ========================================================================== */
|
||||
@@ -39,12 +44,10 @@ MRC compatible.
|
||||
+#endif /* NS_IMPL_COCOA */
|
||||
+
|
||||
+
|
||||
+/* ==========================================================================
|
||||
+
|
||||
The main Emacs view
|
||||
/* ==========================================================================
|
||||
|
||||
========================================================================== */
|
||||
@@ -471,6 +499,12 @@
|
||||
The main Emacs view
|
||||
@@ -471,6 +499,11 @@ enum ns_return_frame_mode
|
||||
#ifdef NS_IMPL_COCOA
|
||||
char *old_title;
|
||||
BOOL maximizing_resize;
|
||||
@@ -56,7 +59,7 @@ MRC compatible.
|
||||
#endif
|
||||
BOOL font_panel_active;
|
||||
NSFont *font_panel_result;
|
||||
@@ -528,6 +562,12 @@
|
||||
@@ -528,6 +561,12 @@ enum ns_return_frame_mode
|
||||
- (void)windowWillExitFullScreen;
|
||||
- (void)windowDidExitFullScreen;
|
||||
- (void)windowDidBecomeKey;
|
||||
@@ -69,9 +72,11 @@ MRC compatible.
|
||||
@end
|
||||
|
||||
|
||||
--- a/src/nsterm.m 2026-02-26 08:46:18.124172384 +0100
|
||||
+++ b/src/nsterm.m 2026-02-26 10:46:54.607568839 +0100
|
||||
@@ -1104,6 +1104,11 @@
|
||||
diff --git a/src/nsterm.m b/src/nsterm.m
|
||||
index 932d209..077f092 100644
|
||||
--- a/src/nsterm.m
|
||||
+++ b/src/nsterm.m
|
||||
@@ -1104,6 +1104,11 @@ static NSRect constrain_frame_rect(NSRect frameRect, bool isFullscreen)
|
||||
|
||||
unblock_input ();
|
||||
ns_updating_frame = NULL;
|
||||
@@ -83,7 +88,7 @@ MRC compatible.
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -3232,6 +3237,82 @@
|
||||
@@ -3232,6 +3237,37 @@ Note that CURSOR_WIDTH is meaningful only for (h)bar cursors.
|
||||
/* Prevent the cursor from being drawn outside the text area. */
|
||||
r = NSIntersectionRect (r, ns_row_rect (w, glyph_row, TEXT_AREA));
|
||||
|
||||
@@ -121,10 +126,12 @@ MRC compatible.
|
||||
ns_focus (f, NULL, 0);
|
||||
|
||||
NSGraphicsContext *ctx = [NSGraphicsContext currentContext];
|
||||
@@ -6849,6 +6930,646 @@
|
||||
|
||||
/* ==========================================================================
|
||||
@@ -6847,6 +6883,652 @@ - (BOOL)fulfillService: (NSString *)name withArg: (NSString *)arg
|
||||
}
|
||||
#endif
|
||||
|
||||
+/* ==========================================================================
|
||||
+
|
||||
+ Accessibility virtual elements (macOS / Cocoa only)
|
||||
+
|
||||
+ ========================================================================== */
|
||||
@@ -769,12 +776,10 @@ MRC compatible.
|
||||
+#endif /* NS_IMPL_COCOA */
|
||||
+
|
||||
+
|
||||
+/* ==========================================================================
|
||||
+
|
||||
EmacsView implementation
|
||||
/* ==========================================================================
|
||||
|
||||
========================================================================== */
|
||||
@@ -6889,6 +7610,7 @@
|
||||
EmacsView implementation
|
||||
@@ -6889,6 +7571,7 @@ - (void)dealloc
|
||||
[layer release];
|
||||
#endif
|
||||
|
||||
@@ -782,7 +787,7 @@ MRC compatible.
|
||||
[[self menu] release];
|
||||
[super dealloc];
|
||||
}
|
||||
@@ -8237,6 +8959,18 @@
|
||||
@@ -8237,6 +8920,18 @@ - (void)windowDidBecomeKey /* for direct calls */
|
||||
XSETFRAME (event.frame_or_window, emacsframe);
|
||||
kbd_buffer_store_event (&event);
|
||||
ns_send_appdefined (-1); // Kick main loop
|
||||
@@ -801,7 +806,7 @@ MRC compatible.
|
||||
}
|
||||
|
||||
|
||||
@@ -9474,6 +10208,391 @@
|
||||
@@ -9474,6 +10169,213 @@ - (int) fullscreenState
|
||||
return fs_state;
|
||||
}
|
||||
|
||||
@@ -1015,7 +1020,7 @@ MRC compatible.
|
||||
@end /* EmacsView */
|
||||
|
||||
|
||||
@@ -9941,6 +11060,14 @@
|
||||
@@ -9941,6 +10843,14 @@ - (id)accessibilityAttributeValue:(NSString *)attribute
|
||||
|
||||
return [super accessibilityAttributeValue:attribute];
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user