Skip to content

Add scratchpad drawer, close-workspace action and Super+Tab toggle; show occupied workspaces - #1

Open
ricardofelixb wants to merge 1 commit into
ecylmz:mainfrom
ricardofelixb:upstream-improvements
Open

ricardofelixb wants to merge 1 commit into
ecylmz:mainfrom
ricardofelixb:upstream-improvements

Conversation

@ricardofelixb

Copy link
Copy Markdown

Hi! Thanks for Spaceview — I've been using it daily and made a few improvements in my fork. Sending them back in case you'd like them.

What's new

  • Scratchpad drawer: a shallow tray below the workspaces shows the special:scratchpad windows (Super+S), even when empty. Drag windows in to put them away, or back onto a workspace (including +) to take them out. Reachable with the arrow keys, too.
  • Close a workspace: hover a card and click × to send an ordinary close request to all its windows (no force-kill; apps can still prompt). Addresses are snapshotted and validated per workspace; drawer windows are never closed this way.
  • Occupied workspaces only: shows the occupied workspaces within 1–10, plus the current one even if empty, and one + card for the first unused slot. Workspace labels are gone and each card's windows are centred. Up to three cards fit on a row.
  • Focus fix: waits for the overview to unmap before activating the selection, so focus lands on the picked window.
  • Docs: optional Super+Tab toggle binding, 4-finger gesture (leaving 3 fingers for the workspace swipe Omarchy's input.lua suggests), and an optional snippet that disables tap-and-drag while the overview is open.

SECURITY.md is updated for the new dispatch targets (special:scratchpad) and the close action.

Testing

  • node --test test/: 16 tests pass (new: workspace model, drawer, close-workspace).
  • omarchy plugin validate passes.
  • Used daily on Omarchy 4 with Hyprland's Lua config.

Happy to split this into smaller PRs or drop anything you'd rather not take.

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