app
KiCad - the KiCad Bridge
Public Made by Adomby adom
Reference implementation of the KiCad bridge: multi-instance Python server, forward path via kicad-cli, reverse path via in-process plugin. Most complex of the three bundled bridges.
← 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
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: