Commit graph

6 commits

Author SHA1 Message Date
b1e2bb3bc6 feat(bar): horizontal top bar — Phase A geometry (NoSignal layout)
Convert the bar from a vertical left-edge strip to a horizontal top bar. The
shell had no orientation abstraction, so this flips the geometry across the bar
and the drawer/region/interaction layer:

- Bar.qml: ColumnLayout -> RowLayout; hit-testing (checkPopout/handleWheel),
  scroll halves and popout-center anchoring all keyed off x instead of y;
  first/last padding -> left/right margins.
- BarWrapper.qml: the bar's "thickness" is now its height (clampedHeight/
  contentHeight/implicitHeight); content anchors left/right/top.
- drawers: Exclusions (exclusive zone moved left->top), Panels (content inset
  topMargin = bar height), Regions + ContentWindow (panel->window coordinate
  mapping and the thick border flip left->top), Interactions (bar-region check
  y<barHeight, panel Y-origin uses bar height, scroll passes x, bar drag-reveal
  is vertical).
- widgets: Clock (Row, HH:MM with a colon), StatusIcons (Row), Workspaces +
  Workspace (Row), Tray (Row, expand chevron at the right) — each sizes to the
  bar height instead of width.

Verified live in the dev VM: top bar renders with centered-clock entries, the
exclusion zone keeps windows below the bar, and the dashboard drops down
correctly. Popout fly-outs still anchor sideways (Phase B).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 23:26:55 +01:00
2 * r + 2 * t
8c8d196e20 feat: use QQuickAttachedPropertyPropagator
Instead of manually trying to find ancestor ConfigScope, set attached
prop on ancestor and propagate via attached props
2026-04-13 03:06:13 +10:00
2 * r + 2 * t
7e4b14f6ba fix: per monitor props not having ancestor scope 2026-04-13 00:07:55 +10:00
2 * r + 2 * t
3a37d77d1f feat: replace qml config module with c++ module 2026-04-11 21:18:56 +10:00
2 * r + 2 * t
df27c93224 feat: improve popouts
Fix bg tracking, use slow spatial for detach, default spatial for
everything else, adjust deform, move instead of width scale
2026-04-08 17:06:37 +10:00
2 * r + 2 * t
e8ffd51442 fix: window mask regions during overshoot
The window mask regions followed the panel positions exactly, so when
they overshoot due to the open anim there will be a gap at the top.
2026-03-27 15:21:04 +11:00