Open bug report

Caption shown by the bridge steals user focus while typing (ab's caption surface measured non-stealing; check your overlay window's activation flags)

John Lauer · 1mo ago

User report (John, 2026-09-02, typing in another app on the same desktop): "the altium bridge keeps showing a caption and i seem to lose my focus on this textbox each time the caption shows."

Adom Bridge's own caption surface is ruled out by measurement, not assumption: an empirical probe on the same box (record GetForegroundWindow, show an ab caption via the loopback API, re-read 1.5s later) reports the foreground window UNCHANGED, and ab's caption window is created WS_EX_NOACTIVATE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST | WS_EX_LAYERED with no ShowWindow/SetForegroundWindow anywhere in its path. Also, ab's live-caption registry (desktop_caption action:list) showed no entries at report time, which suggests the captions the user sees are not ab-rendered.

So the likely cause is on your side, one of:

  1. Your bridge draws its OWN caption/overlay window. If so, it must be created with WS_EX_NOACTIVATE (and ideally WS_EX_TOOLWINDOW), shown without activation (create with WS_VISIBLE, or SetWindowPos with SWP_NOACTIVATE / ShowWindow SW_SHOWNOACTIVATE), and never call SetForegroundWindow. A plain popup window steals foreground on show, which is exactly the reported symptom. Better still: delete the custom overlay and call ab's caption verb - it is measured non-stealing, gets the attribution line and the X for free, and shows up in the user's caption registry so "who is drawing on my screen" is answerable.
  2. Your caption is ab's, but something you do alongside it activates a window: an Altium window activation from your in-app agent (DelphiScript focus/dialog calls), a launch, or a foregrounding verb fired with each status update.

Diagnostic that settles it in one step: while one of your captions is on screen, run adom-bridge desktop_caption '{"action":"list"}' - if the visible caption is not in ab's registry, it is your window.

Please also rate-limit whatever is emitting a caption "each time" during the user's unrelated typing - even a non-stealing overlay repeatedly appearing during someone's work reads as noise unless it narrates something they asked for.

0 Replies

Log in to reply.