aboutsummaryrefslogtreecommitdiffstats
path: root/docs/superpowers/specs/2026-09-12-window-switcher-design.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/superpowers/specs/2026-09-12-window-switcher-design.md')
-rw-r--r--docs/superpowers/specs/2026-09-12-window-switcher-design.md19
1 files changed, 19 insertions, 0 deletions
diff --git a/docs/superpowers/specs/2026-09-12-window-switcher-design.md b/docs/superpowers/specs/2026-09-12-window-switcher-design.md
index 5689ace..487de1d 100644
--- a/docs/superpowers/specs/2026-09-12-window-switcher-design.md
+++ b/docs/superpowers/specs/2026-09-12-window-switcher-design.md
@@ -71,6 +71,24 @@ Both corner overlays need a scrim or shadow behind them. A themed icon drawn
over an arbitrary window preview can land on a same-coloured region and
disappear, a light icon on a white page being the obvious case.
+## With nothing to show
+
+When the filtered list is empty, the overlay still opens, and shows two centred
+lines in place of the grid:
+
+ Nothing here but hopes and dreams...
+ go create something beautiful!
+
+The second is larger and dimmer than the first.
+
+The state is reachable two ways: a fresh session before anything is launched,
+and closing the last window from the switcher itself, which stays open by
+design. Opening on nothing was considered and rejected in favour of this,
+because a full-screen dim with nothing in it reads as a hang.
+
+Since there is no card to click in this state, the backdrop closes the overlay
+on click as well as on Escape. That holds generally, not only when empty.
+
## Data
One source: `Hyprland.toplevels`, refreshed with `Hyprland.refreshToplevels()`
@@ -105,6 +123,7 @@ open; there is no attempt to detect the ALT release.
| arrows / TAB | move the selection |
| Enter | focus the selection, close the overlay |
| Escape | close the overlay, focus nothing |
+| click the backdrop | close the overlay, focus nothing |
The close button leaves the overlay open because closing is a side errand: a
dismissal would mean reopening to close a second window. The card disappears on