Commit graph

156 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
b7e862e3aa feat: darken backdrop when detached popout open 2026-06-07 22:26:20 +10:00
2 * r + 2 * t
26b50cec04 fix: animate base transparency properly 2026-06-05 01:25:28 +10:00
2 * r + 2 * t
713302c045 fix: notif popups not dodging utils panel
Also make dodging merge with osd/session
2026-05-06 20:07:53 +10:00
2 * r + 2 * t
e29be58790 feat: sidebar margins ignore border 2026-05-06 19:43:50 +10:00
2 * r + 2 * t
eb62e47d27 chore: remove old needsKeyboard prop 2026-05-05 20:37:27 +10:00
2 * r + 2 * t
05333b5e02 Merge branch 'main' into feat/m3-revamp 2026-04-30 23:00:31 +10:00
2 * r + 2 * t
dfbd0829e7 feat: add showOverFullscreen option + disable by default
Fixes #1377
2026-04-30 22:26:52 +10:00
2 * r + 2 * t
a06fa38522 fix: close detached popout on fs 2026-04-30 22:21:47 +10:00
2 * r + 2 * t
87a452851e fix: allow interacting with notifs and osd in fs 2026-04-30 22:17:19 +10:00
2 * r + 2 * t
bcd7f6f161 feat: display on overlay layer only when fs 2026-04-30 22:01:27 +10:00
2 * r + 2 * t
d4b98dec77 fix: slight border showing when fullscreen 2026-04-30 21:49:44 +10:00
2 * r + 2 * t
1eac4e4bcb Merge branch 'main' into feat/m3-revamp 2026-04-26 15:13:51 +10:00
2 * r + 2 * t
9be727dbe1 fix: interaction blocking at edges when fullscreen
Also completely disable interaction when fullscreen
2026-04-26 15:12:55 +10:00
2 * r + 2 * t
158588ce89 refactor: no need to explicitly type as default spatial
Default spatial is the default type, so no need to type anims as such
2026-04-23 03:47:56 +10:00
2 * r + 2 * t
7ea5fd3c70 fix: use effects curve for effects 2026-04-23 03:45:22 +10:00
2 * r + 2 * t
57db6e246c feat: use M3 padding tokens 2026-04-22 22:47:18 +10:00
2 * r + 2 * t
711587d193 refactor: migrate to new rounding tokens 2026-04-22 22:47:18 +10:00
2 * r + 2 * t
f77ba920ea feat: add deform scale config option 2026-04-20 01:00:13 +10:00
2 * r + 2 * t
ec8ce65857 feat: m3 expressive menus
Also fix the player selector being click through
Fixes #1405
Closes #1350
2026-04-19 19:15:31 +10:00
2 * r + 2 * t
d675478e91 refactor: use new anim type prop 2026-04-15 18:32:19 +10:00
2 * r + 2 * t
c517b71024 fix: utilities recording modal bg 2026-04-13 23:03:36 +10:00
2 * r + 2 * t
50c4eaf75b feat: add border smoothing option 2026-04-13 22:30:49 +10:00
2 * r + 2 * t
b1401c1c8c feat: border rounding only affect outer corners 2026-04-13 22:09:43 +10:00
2 * r + 2 * t
16a77f0df9 chore: remove unused import 2026-04-13 16:42:38 +10:00
2 * r + 2 * t
8106aca173 fix: even more non global access 2026-04-13 16:42:00 +10: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
9be9ec10a6 fix: per monitor configs
Use c++ singleton pattern for monitor manager and bind appearance tokens
properly
Also use scoped properties on ContentWindow
2026-04-11 23:44:13 +10:00
2 * r + 2 * t
71dd7b4db8 chore: format QML imports 2026-04-11 22:17:24 +10:00
2 * r + 2 * t
d99fefdd34 fix: use correct anim tokens in QML 2026-04-11 21:41:31 +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
e1e0c314c6 refactor: move popout position logic to wrapper 2026-04-08 19:36:04 +10:00
2 * r + 2 * t
b1380235eb fix: prevent deform gap between bar and popouts 2026-04-08 17:20:58 +10:00
2 * r + 2 * t
ff5c46a429 fix: don't exclude panels from group based on size
Most panels do not change size either way, and doing this removes the
close sink effect
2026-04-08 17:07:35 +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
9ce0224d0a fix: reduce deform amount 2026-04-07 17:02:17 +10:00
2 * r + 2 * t
c126075d40 chore: clean out legacy background code 2026-04-06 23:42:47 +10:00
2 * r + 2 * t
0e50b62413 refactor: move drawers window -> ContentWindow.qml 2026-04-06 23:38:36 +10:00
2 * r + 2 * t
c2221a6d8e fix: use height scaled region for top panel detection
Same as bottom panel, doesn't take into account the 5px offset this way
2026-04-02 15:57:24 +11:00
2 * r + 2 * t
b57d596230 Merge branch 'main' into sdfs 2026-03-30 02:10:22 +11:00
Robin Seger
c588794b20
feat: fullscreen notification & toasts overlay (#1276)
* reworked fullscreen mode as transforming shell

* controlcenter configuring of toasts & notifs

* fix animation on fs switch

* border rounding & shadow animation

* change controlcenter notifications layout

* stay on WlrLayer.Overlay, use Anim

* ci: update action versions

* qmlformat

* format take two

* third time's the charm

* fix: special workspace fullscreen

* fix: bar width border.thickness on non-persistent behaviour

* merge fix

* stop layout shift on close

* last few conventions sorted

* linting

* maximized state to fullscreen

---------

Co-authored-by: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com>
2026-03-29 15:22:00 +11:00
2 * r + 2 * t
4ed5449485 fix: animate background colour 2026-03-28 21:35:31 +11:00
2 * r + 2 * t
6cdecb8825 fix: sidebar gap with utils due to deform
Also better sync utils width with sidebar width
2026-03-28 21:28:21 +11:00
2 * r + 2 * t
04efa4d39d feat: make utils anim to sidebar width 2026-03-28 21:06:49 +11:00
2 * r + 2 * t
611f8de400 fix: sidebar close anim & gap w/ utilities
Don't exclude each other when not flush to fix close overshoot not
looking right
Also increase sidebar height by 2 instead of 1 to fix gap
2026-03-28 00:49:48 +11:00
2 * r + 2 * t
e8555061ab fix: sidebar bulge at connection with utilities
Basically make sidebar and utilities exclude each other from merging and
manually animate corner radius
Also format c++
2026-03-27 20:58:00 +11:00
2 * r + 2 * t
ff57473781 fix: account for bottom panel offset when checking hover
Basically only affects utilities panel cause it's in the corner
2026-03-27 19:23:54 +11:00
2 * r + 2 * t
f2d023b131 fix: osd hover area + popup notif osd/session dodging 2026-03-27 18:56:55 +11: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