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
0.9.313: Tour layout: read the unwrapped desktop_list_monitors payload so windows are placed in their 80 percent slots
3 files changed
+7−4
BRIDGE_VERSION+1−1@@ -1 +1 @@-0.9.312+0.9.313
bridge.json+1−1@@ -2,7 +2,7 @@ "manifest_version": 1, "name": "kicad", "displayName": "KiCad EDA",- "version": "0.9.312",+ "version": "0.9.313", "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/demo.py+5−2@@ -647,8 +647,11 @@ _SAVED_BOUNDS: dict = {} def _primary_monitor() -> dict | None: try: from handlers import ad_client- r = ad_client.call("desktop_list_monitors", {}, timeout=6) or {}- out = r.get("output") if isinstance(r, dict) else None+ r = ad_client.call("desktop_list_monitors", {"reason": "KiCad tour: size the windows to 80% of the primary screen"}, timeout=6) or {}+ # The direct API hands the verb's payload back unwrapped (measured on+ # ConfRoomROG 2026-09-04: top-level `monitors`), older shapes wrap it+ # in output/data. Accept all three.+ out = r.get("output") if isinstance(r, dict) and "output" in r else r if isinstance(out, str): import json as _j out = _j.loads(out)