Commit graph

77 commits

Author SHA1 Message Date
f21e5b5eaf fix(nosignal): hardware-test feedback — additions icons, power menu, weather picker
From the 2026-06-15 hardware-test feedback (redesign passed end-to-end):

- Glyphs: map the 12 unmapped additions-page icon names (brush, cloud_sync,
  data_object, deployed_code, movie_edit, neurology, psychology, robot_2,
  smart_toy, sports_esports, videocam, vpn_lock) so the nexus Additional
  Software page stops rendering "?" boxes. Verified Nerd Font codepoints.
- Glyphs: cp() now uses String.fromCodePoint, not fromCharCode — the 5 MDI
  glyphs above 0xFFFF were being truncated by the 16-bit fromCharCode.
- Shortcuts: Super+Escape (session) now drives the redesigned full-screen
  Power Menu via NsShell.toggle("power"); old caelestia session panel is
  now dead code.
- nexus LanguageAndRegion: replace the "coming soon" weather placeholder with
  a real location input bound to GlobalConfig.services.weatherLocation (the
  Weather backend already geocodes / IP-auto-detects).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-15 18:02:53 +01:00
16de3f16fe feat(nosignal): NoSignal logo + V1 on About; fully square the UI
- About page: replace caelestia AnimatedLogo with the NoSignal logo
  (assets/nosignal-logo.png), title "NoSignal", version reads "V1".
- Square every remaining curved element to match the no-curves design:
  avatars, toggle/icon circles, power/media buttons, slider tracks+handles,
  NsSwitch track+knob, notification dot, calendar today, lock avatar -> radius 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 11:42:08 +01:00
cf3c0d823d feat(nosignal): Nerd Font icon remap — nexus (Settings)
Convert caelestia's nexus Settings to Nerd Font icons (drop-in NsIcon).

- NsIcon hardened into a MaterialIcon drop-in: accepts fontStyle (sizes from
  it, keeps the NF Mono family), plus no-op fill/grade/animate for API parity.
- Glyphs map extended with caelestia core names: nexus static icons, nav/page
  icons (palette, wallpaper, dashboard, devices_other, extension, globe, info,
  monitor, shuffle, workspaces, ...), weather + app/device icons.
- Converted all MaterialIcon in modules/nexus/ to NsIcon; fixed icon aliases
  (NavRow/SliderRow .text -> .icon); reverted IconButton font: (it has font,
  not fontStyle, and renders its own icon).

Remaining core surfaces still Material Symbols (no breakage): launcher, osd,
lock, sidebar, utilities — to convert next with any further Glyphs entries.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-14 11:16:01 +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
152923f5d8 fold: bake NoSignal shell patches into the fork (Phase 2)
We now own the pinned shell, so the runtime patches that the pacman-hook +
patch-script machinery re-applied after every caelestia-shell upgrade are
baked directly into source. Folds in all five caelestia-shell-targeting
patches from the builder's `os updates/`:

- Lock PAM (F1, blocker): ship faillock-free assets/pam.d/caelestia and point
  modules/lock/Pam.qml's passwd PamContext at it (config "passwd" -> "caelestia").
  A desktop screen-lock must never lock the user out of their own session.
- Updates page: add modules/nexus/pages/UpdatesPage.qml + register it in the
  first System slot of PageCompRegistry.qml.
- Additions page: add modules/nexus/pages/AdditionsPage.qml + register it in the
  Plugins slot; relabel Plugins -> Additions in PageRegistry.qml.
- Sudo toggle: add modules/nexus/common/SudoToggleRow.qml + insert it into
  ServicesPage.qml after the Smart colour scheme toggle.
- Wi-Fi wrong-password recovery: NetworkConnection.qml saved-profile branch now
  passes a real callback that forgets the bad profile and reopens the dialog.

The builder will drop the corresponding patch-*.sh calls + pacman hooks and
bump NOSIGNAL_SHELL_COMMIT to this commit.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-13 22:08:59 +01:00
2 * r + 2 * t
8f49fdb405 fix: allow non category walls in nexus wall select 2026-06-08 01:20:00 +10:00
2 * r + 2 * t
21a67d3671 fix: block clicks on nexus header 2026-06-08 00:37:01 +10:00
2 * r + 2 * t
07801e1814 chore: remove unused import 2026-06-07 22:14:17 +10:00
2 * r + 2 * t
eb0a2a0813 feat: replace control center popout with nexus 2026-06-07 22:09:32 +10:00
2 * r + 2 * t
8c844867e9 feat: impl nexus about page 2026-06-07 21:45:05 +10:00
2 * r + 2 * t
c006377c57 feat: impl lang & region page 2026-06-07 20:48:48 +10:00
2 * r + 2 * t
cf7fc4aac5 feat: impl nexus services page 2026-06-07 19:14:26 +10:00
2 * r + 2 * t
e8931695c6 fix: nexus bar subtext 2026-06-07 18:36:31 +10:00
2 * r + 2 * t
e8daf00efc fix: bar scroll actions conf descriptions 2026-06-07 18:33:48 +10:00
2 * r + 2 * t
329d74af70 feat: move taskbar item configs to subpages 2026-06-07 18:32:26 +10:00
2 * r + 2 * t
75fb84b0f6 feat: add panels page + subpages 2026-06-07 18:01:13 +10:00
2 * r + 2 * t
7f2fafb6fe fix: left pad app volumes prompt 2026-06-07 17:58:01 +10:00
2 * r + 2 * t
0d3b9370ca refactor: move placeholder comp to comp registry
So we can have placeholder pages between impl'd pages
2026-06-07 17:15:05 +10:00
2 * r + 2 * t
8d709be51a feat: add per stream volume page 2026-06-07 17:07:25 +10:00
2 * r + 2 * t
e9a439599f fix: add extra bottom padding to slider rows
Cause handle is not counted as part of height, so add extra padding to
bottom so it looks better
2026-06-07 17:05:22 +10:00
2 * r + 2 * t
917a06f815 fix: weird null error
Idk how but root somehow becomes null, probably due to async destruction
2026-06-07 17:01:27 +10:00
2 * r + 2 * t
72dc5a8b93 feat: add nexus audio page 2026-06-07 17:01:27 +10:00
2 * r + 2 * t
a9737915e3 fix: non async item list placeholder
So height is set immediately on init rather than being animated to
2026-06-07 16:53:39 +10:00
2 * r + 2 * t
eb4a19bb4a fix: invalid tPalette usage for fg colours 2026-06-07 16:53:39 +10:00
2 * r + 2 * t
d4f3008a0e feat: impl device pairing 2026-06-07 16:53:39 +10:00
2 * r + 2 * t
8cc986ce7b fix: show bt device batt in sublabel
Sublabel instead of icon
Also animate sublabel
2026-06-07 15:52:37 +10:00
2 * r + 2 * t
76b64ca214 feat: add nexus bluetooth device page 2026-06-07 02:57:07 +10:00
2 * r + 2 * t
7489d369fb refactor: add connected rect component 2026-06-07 02:48:11 +10:00
2 * r + 2 * t
3987ce47b5 fix: plural for wallpaper select header 2026-06-07 02:02:47 +10:00
2 * r + 2 * t
f32b8148bc feat: add nexus bluetooth page 2026-06-07 01:20:34 +10:00
2 * r + 2 * t
55767bc4b3 fix: better network header/toggle 2026-06-07 01:09:12 +10:00
2 * r + 2 * t
82dfd2c66c fix: brighter add network button 2026-06-07 00:58:16 +10:00
2 * r + 2 * t
960f9b43d9 fix: increase nexus network padding 2026-06-07 00:54:16 +10:00
2 * r + 2 * t
108821b2fe fix: nexus network sorting order
Also push connecting and saved networks up
And display whether a network is saved
2026-06-07 00:43:34 +10:00
2 * r + 2 * t
ab87ba51da refactor: move item list -> new component 2026-06-07 00:43:34 +10:00
2 * r + 2 * t
b874dfc983 refactor: move anim loader -> new component 2026-06-07 00:02:10 +10:00
2 * r + 2 * t
3310cfafa3 fix: nexus nav bluetooth -> connected devices
Also fix icon fill
And language & region icon
2026-06-06 23:48:57 +10:00
2 * r + 2 * t
210130de43 fix: first wall row sizing when < max
Pad number of wallpapers to the number of walls in a row so when < they
dont expand to fill the entire row
2026-06-06 16:53:35 +10:00
2 * r + 2 * t
a1034b0237 fix: sort nexus walls properly 2026-06-06 16:41:08 +10:00
2 * r + 2 * t
b5d6d857e0 feat: add no local walls placeholder 2026-06-06 16:16:56 +10:00
2 * r + 2 * t
e238fee4a5 fix: dimmer subtext for toggle row 2026-06-06 16:08:11 +10:00
2 * r + 2 * t
a6aa701e56 feat: add no networks placeholder
Also rescan on wifi enabled
And dim & disable connecting networks
2026-06-06 15:51:37 +10:00
2 * r + 2 * t
cde59b308d fix: always complete network opacity in anim 2026-06-06 15:35:31 +10:00
2 * r + 2 * t
7fb9f3d88d feat: add featured wallpaper 2026-06-06 02:23:59 +10:00
2 * r + 2 * t
027ab59ee5 feat: impl changing network via nexus 2026-06-06 02:17:29 +10:00
2 * r + 2 * t
db3093b5d1 feat: auto rescan networks in network settings
Also add anims
And sort active network first
And add indicator for scanning
2026-06-06 01:31:08 +10:00
2 * r + 2 * t
f109f5f2d7 feat: add network page 2026-06-06 01:06:43 +10:00
2 * r + 2 * t
93a117e2fe feat: add colours page placeholder 2026-06-05 22:30:38 +10:00
2 * r + 2 * t
19a8f4ad45 fix: navigate back after wallpaper selected 2026-06-05 22:27:38 +10:00
2 * r + 2 * t
da3b58118f feat: add browse and random buttons to wall select 2026-06-05 22:03:23 +10:00