Figma-Style Sections as Workspaces
Overview
Transform sections from canvas decorations into workspace-like containers that are created dynamically at runtime (not via config).
Key difference from config-based: Sections are runtime entities created via right-click menu or keyboard shortcut, stored in memory/state file only.
Context Menu Flow
Right-Click on Canvas
┌─────────────────┐
│ New Section │ ← Creates section at viewport, switches to it
└─────────────────┘
Right-Click on Active Section
┌─────────────────┐
│ New Section │
├─────────────────┤
│ Suspend │ ← Suspends all apps in section (frees RAM/CPU)
│ Rename │
│ Delete │
└─────────────────┘
Right-Click on Inactive Section
┌─────────────────┐
│ New Section │
├─────────────────┤
│ Active │ ← resume from suspended
│ Rename │
│ Delete │
└─────────────────┘
Suspend:
- Get all windows in active section
- Get their PIDs (from window/app_id mapping)
- Send SIGSTOP to each PID
- Mark section as suspended
- turn into gray
Future
- Drag windows between sections — drag to edge, peek into adjacent section
- Per-section backgrounds — different wallpaper per section (color picker)
- Section locking — prevent moving section instead of window
- Move window to section — context menu on window → "Move to Section X"
Figma-Style Sections as Workspaces
Overview
Transform sections from canvas decorations into workspace-like containers that are created dynamically at runtime (not via config).
Key difference from config-based: Sections are runtime entities created via right-click menu or keyboard shortcut, stored in memory/state file only.
Context Menu Flow
Right-Click on Canvas
Right-Click on Active Section
Right-Click on Inactive Section
Suspend:
Future