← Commit history

v0.9.142: re-park - KiCad applies saved geometry late in init and moved itself back on-screen after the early park; the sweep now re-parks on every visible sighting, keeping the first-seen true coords

John Lauer ·49142e838f ·1mo ago ·parent 2532cf2
5 files changed +14−9
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.141+0.9.142
adom-bridge-kicad-manifest.json+5−5
@@ -1,15 +1,15 @@ {   "manifest_version": 1,   "name": "kicad",-  "version": "0.9.141",-  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.141/adom-bridge-kicad-v0.9.141.zip",-  "sha256": "4c30eb514b5cb3df2890750a99bd62c702f932f2071decdd4309617483c58b2b",-  "size": 417817,+  "version": "0.9.142",+  "url": "https://wiki.adom.inc/download/adom/kicad-bridge/0.9.142/adom-bridge-kicad-v0.9.142.zip",+  "sha256": "eace7f86a7bce47c92bdf7d1eab73e80222ce7b847048f07ef1a2226bc3f815a",+  "size": 417950,   "verbPrefixes": [     "kicad_"   ],   "healthEndpoint": "/status",-  "released_at": "2026-08-17T14:23:57Z",+  "released_at": "2026-08-17T14:25:17Z",   "hero": "https://wiki.adom.inc/blob/app/kicad-bridge/kicad-hero.png",   "languages": [     "Python",
adom-bridge-kicad-v0.9.142.zipadded
⋯ 1 unchanged line ⋯
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.141",+  "version": "0.9.142",   "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+7−2
@@ -422,13 +422,18 @@ def end_gui_verb() -> None:  def _park_offscreen(hwnd) -> None:     try:-        if hwnd in _parked or not _user32.IsWindow(hwnd):+        if not _user32.IsWindow(hwnd):             return         r = ctypes.wintypes.RECT()         _user32.GetWindowRect(hwnd, ctypes.byref(r))         if r.left <= -20000:             return  # already off-screen-        _parked[hwnd] = (r.left, r.top)+        # KiCad applies its SAVED geometry late in init, moving itself back+        # on-screen AFTER an early park — so RE-park every time we see it+        # visible, but only record the true coordinates once (the first+        # sighting; later sightings are just KiCad fighting the park).+        if hwnd not in _parked:+            _parked[hwnd] = (r.left, r.top)         SWP = 0x0010 | 0x0001 | 0x0004  # NOACTIVATE|NOSIZE|NOZORDER         _user32.SetWindowPos(hwnd, 0, -32000, -32000, 0, 0, SWP)     except Exception: