Add i3 focus tracking and harden X11 handoff

This commit is contained in:
Storm Dragon
2026-07-30 18:53:56 -04:00
parent f4ee5e4468
commit c39f3bda47
17 changed files with 1379 additions and 76 deletions
+19 -1
View File
@@ -82,12 +82,23 @@ class RuntimeStateSnapshotTests(unittest.TestCase):
manager._scriptWithSuspendedGrabsForXterm = object()
manager._xtermFocusHandlerId = 17
manager._xtermRecoverySourceId = 23
manager._xtermRecoveryPollCount = 42
manager._xtermHandoffHistory = [
"ewmh:0x200000c->0x1400010",
"restore:success",
]
manager._lastEwmhReadWindowId = 0x1400010
manager._lastEwmhActiveWindowId = 0x1400010
manager._lastEwmhXtermMatch = False
manager._last_input_event = object()
manager._last_non_modifier_key_event = None
snapshot = manager.get_debug_snapshot()
with mock.patch.object(
manager,
"_xterm_recovery_source_is_present",
return_value=True,
):
snapshot = manager.get_debug_snapshot()
self.assertTrue(snapshot["device_active"])
self.assertTrue(snapshot["pointer_watcher_active"])
@@ -97,6 +108,13 @@ class RuntimeStateSnapshotTests(unittest.TestCase):
self.assertTrue(snapshot["suspended_xterm_script_present"])
self.assertTrue(snapshot["xterm_focus_monitor_active"])
self.assertTrue(snapshot["xterm_recovery_timer_active"])
self.assertTrue(snapshot["xterm_recovery_source_present"])
self.assertEqual(42, snapshot["xterm_recovery_poll_count"])
self.assertEqual(
"ewmh:0x200000c->0x1400010 | restore:success",
snapshot["xterm_handoff_history"],
)
self.assertEqual("0x1400010", snapshot["last_ewmh_read_window_id"])
self.assertEqual("0x1400010", snapshot["last_ewmh_active_window_id"])
self.assertFalse(snapshot["last_ewmh_xterm_match"])
self.assertFalse(snapshot["last_non_modifier_key_event_present"])