History of handlers/win_focus.py

45 commits ← Back to file
0.9.348: Focus guardian identity survives hwnd reuse; editors spawn without activation (pre-promotion run findings)
John Lauer · 9c005c0 · 2mo ago
0.9.318: Wiki #48: the 20 s idle healer measured window reachability against the primary monitor only and pulled window…
John Lauer · 402342a · 2mo ago
Update 40 file(s)
John Lauer · 70e1922 · 2mo ago
v0.9.185: background the project manager too (a spawned window that appears after the verb returned is still ours, for…
John Lauer · 388d696 · 2mo ago
v0.9.184: REMOVE the machine-wide input hooks added in 0.9.182. They degraded the user's cursor and cost him four reboo…
John Lauer · 7969a4f · 2mo ago
v0.9.183 URGENT: 0.9.182's low-level mouse hook did window lookups and SetWindowLongPtr INSIDE the system input path, w…
John Lauer · 91766f1 · 2mo ago
v0.9.182: deterministic user-intent detection (WH_MOUSE_LL + WH_KEYBOARD_LL - a taskbar click or alt-tab can no longer…
John Lauer · 28800f0 · 2mo ago
v0.9.181: backgrounding is now ONE SetWindowPos to the bottom, once per window, only if that window took the foreground…
John Lauer · 051d894 · 2mo ago
v0.9.180: NEVER blip. Remove the minimize-bounce and off-screen parking entirely - both are visible frames by construct…
John Lauer · 0990ca9 · 2mo ago
v0.9.179: fixes wiki issue #33 - the focus GUARDIAN demoted a self-raising window on every 100ms tick with no debounce…
John Lauer · b83ce3a · 2mo ago
v0.9.175: STOP FIGHTING KiCad's geometry - after 3 rounds concede the position and just keep the window behind and unfo…
John Lauer · c67114f · 2mo ago
v0.9.172: THE IDLE RULE - never bounce a KiCad foreground when no verb or guard is running, so a taskbar click always w…
John Lauer · bb56085 · 2mo ago
v0.9.165 HOTFIX: boot maintenance ran BEFORE the port bind and SetWindowLongPtr blocks forever against a hung KiCad, so…
John Lauer · abb9f66 · 2mo ago
v0.9.164: heal window usability by INSPECTION - a window suppressed by an earlier bridge process was unknown to the new…
John Lauer · cdd33c4 · 2mo ago
v0.9.161: THE 'weird' root cause - the park baseline excluded bridge-created windows, so an already-open KiCad got re-p…
John Lauer · a89e96e · 2mo ago
v0.9.160: THE taskbar-icon root cause - WS_EX_NOACTIVATE removes a window from the taskbar by design, so backgrounded w…
John Lauer · 0fb77d2 · 2mo ago
v0.9.157: session sanitize - bridge projects are scrubbed from KiCad restore-on-launch (kicad.json system.open_projects…
John Lauer · ffb3b6f · 2mo ago
v0.9.156: geometry-poison prevention (unpark before close verbs, atexit unpark, boot heal of off-screen-stranded window…
John Lauer · 1e76c9f · 2mo ago
v0.9.155 EMERGENCY: ownership ledger - the bridge only parks/bounces/badges windows from process trees it spawned; user…
John Lauer · ea54cba · 2mo ago
v0.9.152: Adom overlay badges on bridge-driven KiCad taskbar buttons (ITaskbarList3, pup pattern) + kicad_get_settings/…
John Lauer · b3eb86f · 2mo ago
v0.9.151: taskbar icon repair - minimize-parking froze windows into the taskbar before KiCad assigned their icon (blank…
John Lauer · ac1ac92 · 2mo ago
v0.9.150: park = minimize-no-activate from first sighting (hwnd churn during eeschema load reset the fight threshold an…
John Lauer · a8d0179 · 2mo ago
v0.9.149: fight escalation - a window reasserting its geometry (eeschema mid-load) gets minimized-no-activate after 4 r…
John Lauer · 3b8871c · 2mo ago
v0.9.148: guardian arms without an hwnd (the vestigial not-hwnd early-return silently disabled ALL post-verb guards whe…
John Lauer · e9e6a76 · 2mo ago
v0.9.146: parking instrumentation (attempts, last error, sweep ticks, bridge-window count in focusDebug)
John Lauer · cf1ed59 · 2mo ago
v0.9.145: bridge-created windows stay bridge-created across verbs (rebaselining adopted the previous verb's window as t…
John Lauer · b68ef92 · 2mo ago
v0.9.144: focusDebug introspection in kicad_state (sweep/hook/sentinel liveness, inflight/guard counters, parked/baseli…
John Lauer · abafa38 · 2mo ago
v0.9.143: SetWindowPlacement-based parking - SetWindowPos cannot move a MAXIMIZED window (the silent no-op); park demot…
John Lauer · 47ae756 · 2mo ago
v0.9.142: re-park - KiCad applies saved geometry late in init and moved itself back on-screen after the early park; the…
John Lauer · 49142e8 · 2mo ago
v0.9.141: 50ms parking sweep (deterministic) - baselines existing windows at verb start, parks anything newer off-scree…
John Lauer · 2532cf2 · 2mo ago
v0.9.140: hook diagnostics (armed + per-event stderr) + SetWinEventHook restype
John Lauer · d02d8ac · 2mo ago
v0.9.139: parking engages DURING handlers - windows are created before guards arm, so the dispatcher now marks GUI-verb…
John Lauer · 05ae1e4 · 2mo ago
v0.9.138: off-screen parking (John's design) - the SHOW hook teleports new KiCad windows to -32000,-32000 before first…
John Lauer · 1a82b6f · 2mo ago
v0.9.137: event-driven focus enforcement (SetWinEventHook on SHOW/FOREGROUND) - during bridge work a KiCad window is su…
John Lauer · 5115713 · 2mo ago
v0.9.131: John's foreground contract - NO foreground without foregroundReason (refused otherwise), every sanctioned for…
John Lauer · 55cd782 · 2mo ago
v0.9.115: sentinel bless test fixed - 'recent input' wrongly blessed self-raises while the user typed in ANOTHER app (c…
John Lauer · 32e9e7d · 2mo ago
v0.9.114: sentinel exemption for sanctioned foregrounds (bring_to_user / announce_foreground set expect_foreground so t…
John Lauer · e230a5a · 2mo ago
v0.9.113: always-on focus sentinel (John saw late self-raises land in the foreground after per-verb guards expired) - b…
John Lauer · 4cafdf6 · 2mo ago
v0.9.105: every forced foreground announces itself first — ab notify_user caption (attributed to the calling thread) fi…
John Lauer · 6544271 · 2mo ago
v0.9.104 FINAL background design (John): guardian touches ONLY KiCad windows — minimize-bounce the offender (OS returns…
John Lauer · 7e1b163 · 2mo ago
v0.9.103: end-of-verb restore is KiCad-conditional — never re-raise the start-of-verb snapshot over a window the user h…
John Lauer · 95e17a9 · 2mo ago
v0.9.102: guardian pre-suppresses ALL visible KiCad windows (0.5s sweep) — closes the free-first-steal hole the 0.9.101…
John Lauer · aa55a84 · 2mo ago
v0.9.101: PREVENTION guardian — WS_EX_NOACTIVATE on misbehaving KiCad windows (no more fg flashes/churn), cleared on gu…
John Lauer · 1415d5d · 2mo ago
v0.9.97: background-first hard rule — keystroke fallbacks gated behind allowFocusSteal (were leaking keys to the user's…
John Lauer · 52370b9 · 2mo ago
v0.9.79: KiCad-aware focus guardian (never fights the user, demotes thief below, 45s guard for async self-raises), laun…
John Lauer · 11d50c4 · 2mo ago