← Commit history

0.9.348: Focus guardian identity survives hwnd reuse; editors spawn without activation (pre-promotion run findings)

John Lauer ·f98e0d3241 ·1mo ago ·parent ba63978
3 files changed +13−2
BRIDGE_VERSION+1−1
@@ -1 +1 @@-0.9.347\ No newline at end of file+0.9.348\ No newline at end of file
bridge.json+1−1
@@ -2,7 +2,7 @@   "manifest_version": 1,   "name": "kicad",   "displayName": "KiCad EDA",-  "version": "0.9.347",+  "version": "0.9.348",   "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/open_files.py+11
@@ -43,8 +43,19 @@ def _open_file(kicad_info: dict, args: dict, exe_key: str, file_type_label: str)         }      try:+        # Launch WITHOUT activation (SW_SHOWNOACTIVATE), the way launch.py starts+        # kicad.exe: ConfRoomROG 2026-09-08, eeschema opened by this Popen landed on+        # top of the user's Chrome window (a measured steal with a victim). The focus+        # guardian still catches a later self-raise; this stops the first one.+        _si = None+        try:+            from handlers import win_focus+            _si = win_focus.background_startupinfo()+        except Exception:  # pylint: disable=broad-except+            _si = None         _p = subprocess.Popen(             [exe, str(path)],+            startupinfo=_si,             stdout=subprocess.DEVNULL,             stderr=subprocess.DEVNULL,         )