openpencil/crates/op-host-native
Kayshen-X bb4a989709 feat(desktop): native window chrome + per-agent TopBar icons
Hide the native title bar and let the TopBar own the window
chrome — the Electron `titleBarStyle: 'hidden'` recipe:

- macOS keeps a real `NSWindow` (rounded corners, shadow,
  edge-resize, key-window responsiveness) with the title bar made
  transparent + emptied; the native traffic-light buttons stay,
  pushed down via casement's `with_traffic_light_inset` to centre
  in the 40 px TopBar. Windows / Linux drop decorations and the
  TopBar paints its own close / minimise / maximise dots.
- The TopBar reserves a left inset for the controls; it collapses
  in macOS fullscreen (native lights hide), tracked by a
  per-frame `window.fullscreen()` poll. `window_control_at`
  returns `None` on macOS so a fullscreen click on a left-edge
  app icon can't trigger a window control.
- A press on the TopBar's blank area drags the window.

TopBar chip also gains one brand icon per connected agent + an
`N agent[s] · M MCP` status (new `topbar.agentPlural` across all
15 locales).

Bumps the vendor/casement submodule to 5ad98f1c.
2026-05-22 15:48:21 +08:00
..
examples feat(desktop): adopt the casement winit fork 2026-05-18 21:45:09 +08:00
notes refactor(rust): rename native + desktop hosts to op-host-* crates 2026-05-16 23:49:58 +08:00
src feat(desktop): native window chrome + per-agent TopBar icons 2026-05-22 15:48:21 +08:00
tests fix: clear clippy -D warnings across the workspace 2026-05-17 01:26:29 +08:00
Cargo.toml build(deps): vendor casement (winit fork) as a submodule 2026-05-21 22:23:34 +08:00