← Commit history

v0.9.140: hook diagnostics (armed + per-event stderr) + SetWinEventHook restype

John Lauer ·d02d8ac30a ·1mo ago ·parent 05ae1e4
5 files changed +10−7
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.139+0.9.140
adom-bridge-kicad-manifest.json+5−5
@@ -1,15 +1,15 @@ {   "manifest_version": 1,   "name": "kicad",-  "version": "0.9.139",-  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.139/adom-bridge-kicad-v0.9.139.zip",-  "sha256": "ffdbca6c6dc884697394d6707772775cee2fddfc9d5917651b0f02766b301b88",-  "size": 417374,+  "version": "0.9.140",+  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.140/adom-bridge-kicad-v0.9.140.zip",+  "sha256": "ededb375e362caeef7b4db7baad7ad3f3622ecc1f60bd7d4225556d6e6977e66",+  "size": 417463,   "verbPrefixes": [     "kicad_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-08-17T14:20:57Z",+  "released_at": "2026-08-17T14:22:15Z",   "hero": "https://wiki.adom.inc/blob/app/kicad-bridge/kicad-hero.png",   "languages": [     "Python",
adom-bridge-kicad-v0.9.140.zipadded
⋯ 1 unchanged line ⋯
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.139",+  "version": "0.9.140",   "description": "Reverse bridge for KiCad \u2014 board/schematic introspection, lint via kicad-cli, plugin install, multi-instance probe, in-process DRC.",   "homepage": "https://wiki.adom.inc/adom/adom-bridge",   "author": "Adom Inc.",
handlers/win_focus.py+3
@@ -429,6 +429,7 @@ def start_focus_event_hook() -> None:                 return  # sanctioned foreground in progress             if not is_kicad_window(hwnd):                 return+            print(f"[focus-hook] event=0x{event:04x} hwnd={hwnd} inflight={_verb_inflight} guards={_guard_count}", file=sys.stderr)             if event == EVENT_OBJECT_SHOW:                 suppress_activation(hwnd)                 _park_offscreen(hwnd)@@ -451,12 +452,14 @@ def start_focus_event_hook() -> None:      def _pump():         try:+            _user32.SetWinEventHook.restype = ctypes.wintypes.HANDLE             h1 = _user32.SetWinEventHook(EVENT_SYSTEM_FOREGROUND, EVENT_SYSTEM_FOREGROUND,                                          None, proc, 0, 0,                                          WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNPROCESS)             h2 = _user32.SetWinEventHook(EVENT_OBJECT_SHOW, EVENT_OBJECT_SHOW,                                          None, proc, 0, 0,                                          WINEVENT_OUTOFCONTEXT | WINEVENT_SKIPOWNPROCESS)+            print(f"[focus-hook] armed fg={bool(h1)} show={bool(h2)}", file=sys.stderr)             if not (h1 or h2):                 return             msg = ctypes.wintypes.MSG()