diff options
| author | Danilo M. <danix@danix.xyz> | 2026-09-12 18:53:34 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-09-12 18:53:34 +0200 |
| commit | 0f3d2ebfb4aed4801548c29cb1e7fe52e9246a90 (patch) | |
| tree | dfd92d1064e74a44bdedb0a860a60546057cbe8c /shared | |
| parent | 63c27fbf5dbe438a74773a733a8e20acc1988de3 (diff) | |
| download | quickshell-0f3d2ebfb4aed4801548c29cb1e7fe52e9246a90.tar.gz quickshell-0f3d2ebfb4aed4801548c29cb1e7fe52e9246a90.zip | |
feat(window-switcher): the grid, the selection, and an empty state
Columns are the window count capped at six and the grid centres, so one
card sits dead centre and two straddle the middle. Cards grow to fill
their row up to 640px: without a ceiling a lone preview becomes a
full-screen mirror of the window it stands for.
The close button leaves the overlay open, because closing is a side
errand and a dismissal would mean reopening to close a second window.
That makes an empty overlay reachable by closing the last window, so
there is an empty state rather than a full-screen dim with nothing in it,
which reads as a hang.
The selection needs no reset. The LazyLoader destroys the overlay on
close and constructs a new one on the next opening, verified with a build
counter: two openings, two constructions. selectedIndex is therefore 0 on
every showing by initialisation, and an explicit assignment in
Component.onCompleted would be a no-op.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SYg4wYHq5XNbiVmMeKRb1S
Diffstat (limited to 'shared')
0 files changed, 0 insertions, 0 deletions
