breadhelp/EVENTS.md
Breadway c9445fadcc
All checks were successful
dev release / build (push) Successful in 2m4s
Emit bread.help.opened when the main window is shown
Fail-silent via bread-utils BreadClient (ecosystem v0.7.1, bread-client).
No command verbs. Silent autostart and screenshot mode do not emit.
2026-08-15 22:16:30 +08:00

42 lines
1.8 KiB
Markdown

# breadhelp — bread event integration
breadhelp is a standalone GTK help center: it works exactly the same with
or without `breadd` running. When breadd *is* present, it publishes one
event after the main window is actually shown. See the parent `bread`
repo's `Documentation.md` — specifically its "Namespaces" and
"Integrating a bread\* app" sections — for the general convention this
follows.
App id: **`help`**. Transport: `bread-utils`'s `bread_client` module
(feature `bread-client`) — breadhelp links it directly. Each `emit` is
its own short-lived connection. There is no long-running command
subscription.
## Events published (`bread.help.*`)
| Event | Data | When |
|-------|------|------|
| `bread.help.opened` | `{ "autostart": bool }` | The main help window is presented (`ApplicationWindow::present`). `autostart` is `true` when that invocation was launched with `--autostart`. |
Not emitted when:
- every-login `--autostart` builds a hidden window because onboarding is
already done (silent autostart)
- first-run `--autostart` starts the tour overlay without presenting the
main window
- `--onboard` / `--tour-event` (tour only)
- `--screenshot` (capture, not a user-visible open)
## Commands honored (`bread.command.help.*`)
None. Opening the help center, starting the tour, and applying one-click
fixes already exist as local CLI / UI paths. There is no command
subscription, and no verb is stubbed as a no-op. If breadhelp later grows
a bus verb that maps to real behavior, add it then.
## Fail-safe behavior
- If breadd isn't installed or isn't running, `emit` is a silent no-op
(`BreadClient::emit` never blocks or errors the caller) — the help
center, tour, and screenshots are entirely unaffected.
- There is no command subscription to reconnect.