Commit graph

212 commits

Author SHA1 Message Date
27414dafbc quickshell: pick the accent from the palette, don't trust base0D
Every icon in the bar was already bound to a Theme colour — the problem
was which one. base0D is the accent for 33 sites and every status colour
harmonises toward it, but the generator fills each slot independently:
on wallhaven-5y39p9 all six accent slots come back orange (H=0.08)
except base0D, which comes back blue-grey. Hence a blue NixOS logo and
a blue workspace pill in an amber bar.

Accent now auditions all six slots and takes the one nearest S=0.60.
Nearest, not max: max picks the neon fe5162 on wallhaven-k8dqr6, close
enough to err that errors stop reading as errors. Only 5y39p9 and
k8dqr6 change; the other four keep the colour they already had.

Renamed base0D -> accent since it no longer names the slot it comes from.
2026-08-30 14:57:37 +01:00
559ccc55db quickshell: sliders icon for quick settings, not a cog 2026-08-30 14:46:12 +01:00
7caf7f2541 quickshell: bury a full joint's depth, toast keeps one width
Toast is back to a fixed 320 — it is the same card wherever it appears
and should not restyle itself around whatever menu is open.

The residual indent was never the width step: two rounded boxes stacked
on one edge each contribute a corner that curves away over exactly one
radius, so the outline pinches and bulges at the joint. The curves only
cancel at 2*radius of overlap, where the corner circles coincide.

Burying that deep would drive the cards together, so a fused panel grows
by what it buries. Content is pinned 12px from the panel top, not
centred, so the extra height lands entirely below the cards and the
clearance stays 12px. Geometry now derives from baseH, keeping height
(which depends on fused) out of the position that decides it.
2026-08-30 14:42:46 +01:00
9eb728ca10 quickshell: match toast width to the panel it fuses with
The warp was a width step. Panel and toast are both left-anchored to the
bar, so different widths put a step on the shared right edge, and smin
fillets a step into an S-curve waist.

Toast now takes the open dropdown's drawn width, keyed off its declared
fullWidth so nothing closes a loop through the toast's own height. Below
a 200px floor there is no width worth matching (the power menu is a 64px
icon strip), so those stand off with a gap as before.
2026-08-30 14:29:02 +01:00
e45c9644a1 quickshell: merge menu and toast into one surface, drop the double ease
The bump was two animations stacked: _dropdownRect is positioned off
chrome.y, so chrome already eased the panel to wherever y resolved, and
the Behavior added last commit put an OutExpo behind an OutExpo.

Panels now land ON the toast rather than a panelGap short of it, buried
half a radius so the shader smins them into one outline with a shared
waist. Cards inside still clear each other by ~14px.
2026-08-30 13:56:28 +01:00
6d58055723 quickshell: menus yield to the toast, not the other way round
The toast dodging open dropdowns meant it drifted around the column
depending on which menu was open. Invert it: the toast keeps its band
and melts into the frame as before, and a dropdown treats a live toast
as a shortened screen — its clamp ends short of the toast, so a menu
that would collide opens higher instead.

Snapping still tests against the frame, so a panel stopping above a
toast floats clear of it rather than fusing to its edge.
2026-08-30 13:50:15 +01:00
ddcc5c63be quickshell: snap dropdowns to frame by proximity, toast dodges open menus
alignTop/alignBottom were per-dropdown flags, so the battery menu pinned
to the bottom wherever its icon sat. Both replaced by a distance test
against Theme.snapDist, which the SDF already used to decide melting —
panels now fuse with a band only when they actually reach it, and a menu
that gains or loses a card re-decides on its own.

Toast steps clear of an open dropdown instead of drawing over it, and
stops melting into the frame band once it has.
2026-08-30 13:41:39 +01:00
ba4c32d852 quickshell: shared controls under one cog dropdown
Screen recorder was desktop-only, caffeine laptop-only, nightlight in
both places. Cog dropdown now holds recorder + nightlight on every host;
battery dropdown keeps the laptop-only power profile and brightness.
Caffeine stays gated: hypridle is mkIf isMacbook.
2026-08-30 13:20:49 +01:00
02efc0a46d quickshell: give slurp a tty-less stdin it can EOF
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 11:29:30 +01:00
700c85e39a quickshell: pin the focus grab around the recorder's slurp pick
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 10:27:15 +01:00
0d0009ca8e quickshell: run slurp from the recorder card, not inside the script
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 10:19:12 +01:00
11a856800a quickshell: screen recorder card in quick settings
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-26 22:52:55 +01:00
ca63bc9544 quickshell: drop redundant keyring unlock, pam already does it in auth
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 19:55:10 +01:00
888eedad39 spotify: start after keyring unlock, not at hyprland startup
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 19:37:40 +01:00
e9ab223891 hypridle: one daemon, not two; battery dropdown pins to bottom
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 10:54:00 +01:00
1979a4957f quickshell: caffeine toggle in battery dropdown
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-23 10:07:54 +01:00
b851f73090 quickshell: second-precision clock so bar isn't stale after resume 2026-08-23 09:56:40 +01:00
618e0e0d26 quickshell: keyring unlock needs --replace, bare --unlock is a no-op
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 19:12:44 +01:00
bdefae41bc quickshell: unlock login keyring on lockscreen unlock
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 10:21:12 +01:00
6bf3c3909e screenshots: clipboard-only, camera glyph instead of thumbnail 2026-08-21 17:13:12 +01:00
c3e8691c2c quickshell: index all YAMIS dirs, not just apps, for icon tinting
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:59:21 +01:00
7c89ab366d quickshell: match mono icons by name, iconPath returns a URI
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:47:36 +01:00
d6dd93ea5a quickshell: match mono icons by theme dir name, not store path
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:38:04 +01:00
695e51beef quickshell: force Papirus-Fred icon theme, qt5ct bypasses gsettings
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 16:35:05 +01:00
a88ef1e8b2 Merge remote-tracking branch 'origin/main' 2026-08-21 14:44:16 +01:00
1bea54f30c quickshell: tint YAMIS app icons to the wallpaper palette
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017EHJfY5Q72punsWX38nY1w
2026-08-21 14:40:02 +01:00
ab58af9a59 quickshell: pin wallpaper picker to top of screen
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015ARgsKhPrSr4QuNyHvYqyL
2026-08-21 12:52:09 +01:00
35f3828715 quickshell: decode notification previews at thumbnail size
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-21 09:40:11 +01:00
8df52a3686 spotify: drop spotify_player for the normal client in the music scratchpad 2026-08-19 17:52:39 +01:00
9447413fa1 quickshell: open wallpaper dropdown on hover-switch like other menus
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 17:50:59 +01:00
1091495674 theming: re-theme every app on wallpaper switch, crossfade wallpaper
settings/theming.nix renders a full config set per wallpaper (GTK, ghostty,
btop, hyprland, vesktop, zen, folder icons) from its own base16 palette;
theme-apply swaps them in and reloads what can reload.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 14:31:24 +01:00
756ddb4d43 quickshell: revert the chrome SDF diagnostic 2026-08-19 13:47:46 +01:00
965e9af5cf quickshell: wallpaper switcher with per-wallpaper palettes
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 13:45:56 +01:00
9d4b1f8c93 quickshell: DIAGNOSTIC hide chrome SDF to measure its GPU cost 2026-08-19 13:40:20 +01:00
389d7a5d65 quickshell: stop the vinyl animation rather than pausing it 2026-08-19 13:29:14 +01:00
ccc6af0496 quickshell: snappier runner highlight
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 13:28:06 +01:00
a46dc6e95e quickshell: stop the vinyl animation when the media popup is closed 2026-08-19 13:24:49 +01:00
d7ea0978ec quickshell: drop the worm; only feed the spectrum ring while the popup is open 2026-08-19 12:59:19 +01:00
d831fc82f2 quickshell: cap tracked notifications at 30 2026-08-19 12:10:37 +01:00
62adfd2bcb quickshell: toast hugs the clock's frame band instead of floating
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 11:56:18 +01:00
a1deb77a04 hyprland: click away from a scratchpad to dismiss it
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-17 09:53:29 +01:00
e5566fc412 quickshell: taller power profile buttons so pill border clears text
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 14:01:44 +01:00
e6f97fadd9 quickshell: read live volume in OSD, drain slider at 0%
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 13:57:53 +01:00
66fb7536e8 quickshell: snap kbd backlight keys to exact 5% steps
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 13:51:24 +01:00
11f7c14df3 hyprland: ghostty scratchpad on special:scratch, SUPER+Return 2026-08-16 13:47:59 +01:00
016b9bdd48 spotify-player: inset the special workspace window; keep cava on with playback
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 13:45:15 +01:00
d1c92394e5 quickshell: move OSD into its own overlay window
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 13:43:29 +01:00
82de631064 spotify-player: run a daemon; fix progress bar; add progress+volume to media card
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 12:49:01 +01:00
efb49deabd quickshell: show greyed adjacent-month days in the calendar grid
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 21:59:43 +01:00
3030d20034 quickshell: raise bar to overlay layer while OSD is shown
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-15 11:38:18 +01:00