Skip to content

Redesign the Scenes tab around the screen and a search-first picker - #5

Merged
jdvmi00 merged 1 commit into
developfrom
feat/scenes-ux
Sep 6, 2026
Merged

Redesign the Scenes tab around the screen and a search-first picker#5
jdvmi00 merged 1 commit into
developfrom
feat/scenes-ux

Conversation

@jdvmi00

@jdvmi00 jdvmi00 commented Sep 6, 2026

Copy link
Copy Markdown
Owner

The Scenes tab read as a settings form: a long flat app list with a repeated trait on every row, three sections describing the selected zone, and a header that announced "No scene". This makes the screen the primary surface and the rail a picker.

  • Header: "Workspace N · layout · local windows in every zone" until a scene is applied, then the scene name with "k of n placed" and, when needed, how many zones need attention. "Save as scene…" is the single action without a scene.
  • Saved scenes are cards like the LAYOUTS list: a thumbnail with the apps drawn in their zones, the name, and "applied · apps · layout". Clicking applies; the delete shows on hover and keeps the inline confirm.
  • One ZONES list (badge, icon, content, position such as "Top left", state) replaces CONTENT, ZONE and CHANGE TO. Positions come from which edges a zone touches; collisions fall back to the zone name.
  • The picker under the selected zone auto-focuses a search. Enter assigns the top match, ↑ ↓ move it, Esc clears then closes, digits 1–9 select zones, and typing while the key handler has focus forwards into the search. Local windows and Empty are chips; groups are OPEN HERE with window titles, REMOTE DESKTOPS with the suffix stripped, and APPS. Hovering a row previews it in the selected card.
  • Zone cards in Scenes mode show icon, name and state in the centre, "Local windows · fill order" when unassigned, Change… and Clear on the selected or hovered card, and an urgent outline plus Retry when something needs attention.
  • Backend: the catalog carries each app's icon name and each saved scene's sources, and skips placeholder window classes such as Chromium's @@startup_wm_class. Icons resolve through Quickshell's icon provider, with a desktop-entry lookup for window classes. The pane keeps its app, scene and open-window lists by value so the two-second catalog poll no longer rebuilds rows.

Overlay IPC gains search, pick, hover and focusSearch; state reports query and matches. docs/SCENES.md and the changelog describe the new tab.

Validation: all local Lua, Python, and JavaScript CI suites passed, including new tests for the header, progress, picker helpers, position labels, and the placeholder filter; git diff --check and the manifest check passed. ShellCheck is unavailable locally; GitHub CI supplies it and the required native Windows display-policy check. Verified live on the shell: search plus Enter, digit selection in both focus states, the hover preview, position labels, an Empty assignment, an app assignment ending in needs-attention, save, delete, restore, and Esc handling.

The rail's header names the workspace until a scene is applied, then the
scene with how many apps are placed. Saved scenes are cards like the
layout list, with the apps drawn in their zones; the row applies and the
delete shows on hover. One ZONES list replaces CONTENT, ZONE and CHANGE
TO, with zones named by position. The picker under the selected zone
filters as you type and takes the keys: Enter assigns, arrows pick,
digits select zones, Esc clears. It shows app icons and groups open
windows with their titles, remote desktops, and installed apps. Zone
cards show what they hold with icon, name and state, preview a hovered
match, offer Change, Clear and Retry, and outline zones that need
attention.

The catalog lists each app's icon and each saved scene's sources, and
skips placeholder window classes. The pane keeps its lists by value so
the catalog poll does not rebuild rows.
@jdvmi00
jdvmi00 merged commit af84bbe into develop Sep 6, 2026
2 checks passed
@jdvmi00
jdvmi00 deleted the feat/scenes-ux branch September 6, 2026 05:11
@jdvmi00 jdvmi00 mentioned this pull request Sep 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant