Commit graph

160 commits

Author SHA1 Message Date
c4738ae974 fix(nosignal): notification toasts — below the bar + no blob curve
- Position the toast wrapper at y:46 so toasts clear the 38px NsBar (they were
  overlapping it; caelestia's Content negates the wrapper top margin, so the
  offset must be on the wrapper's y, not its margin).
- Fully collapse the notifsBg blob (visible:false + implicitWidth/Height 0) —
  opacity/visible alone don't hide a BlobGroup member, which left a rounded
  corner peeking under the square card.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 12:14:36 +01:00
f6a2584d31 fix(nosignal): square notification toasts + guard lock screen.name
- Notification toasts: square the cards + round urgency/icon badges
  (Tokens.rounding.full ignored rounding.scale) and hide/flatten the notifsBg
  blob (deformAmount 0, radius 0, opacity 0) so toasts are flat square cards.
- LockSurface: guard screen?.name to silence a transient init warning.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 12:00:16 +01:00
dcce2440f6 fix(nosignal): square the OSD (volume/brightness) to match the design
The volume/brightness OSD popped out as a rounded caelestia blob in the dynamic
surface colour. Square it + match the design glass:
- osd/Content: draw a flat square Theme.panelBg + 1px border background.
- ContentWindow: osdBg blob deformAmount 0 + radius 0 + opacity 0 (hidden;
  the OSD now owns its background).
- FilledSlider: track + handle radius -> 0 (Tokens.rounding.full ignored
  rounding.scale, so it stayed round).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 11:54:35 +01:00
36f6f5a157 feat(nosignal): interface redesign — slim glass bar + floating popouts
Convert the caelestia shell to the NoSignal "design_handoff_quickshell_shell"
spec: a slim translucent top bar with floating glass popouts, fixed dark-glass
chrome + Material You dynamic accent, square corners, JetBrains Mono.

- Theme singleton (services/Theme.qml): design tokens; accent = m3primary
  (dynamic), fixed glass/text, square radii.
- New slim bar as its own PanelWindow (modules/nsbar/NsBar.qml), additive in
  shell.qml; reuses caelestia services + components. Helpers: BarPill,
  NsWorkspaces (numbered, active=accent pill), NsOverlay (popout host, one-at-a-
  time via services/NsShell.qml, outside-click + Esc), components/NsPanel +
  components/NsSwitch.
- Old caelestia frame removed: BarWrapper collapsed; ContentWindow border 0 +
  borderTop 0; Exclusions zones 0. Drawer engine kept for launcher/OSD/lock.
- 9 popouts (modules/nsbar/panels/): Calendar, QuickSettings, Network,
  Bluetooth, Notifications, Audio, SystemTray, Overview, PowerMenu.
- Clock restyled (date muted + time DemiBold).
- nexus (Settings) reskinned: dark-glass window + cards, square corners
  (Nexus.qml, common/ConnectedRect.qml) — keeps all pages/functionality.

Launcher kept as-is. Font (JetBrainsMono) + rounding.scale=0 + Super+Alt+Space
nexus bind are caelestia/hypr CONFIG and ship in the OS, not this fork.
Next: full Material Symbols -> Nerd Font icon remap.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 10:36:33 +01:00
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