Proposal: “Clear Workspace” Action in GNOME Shell
Many Android OEMs such as Samsung OneUI and Xiaomi HyperOS include a “Close All” or “Clear All” button to quickly dismiss all running apps.
On GNOME, users who open many temporary apps often forget to close them, leaving the workspace overview cluttered with unused windows. Personally, I tend to leave apps open “just in case,” and later I end up with a bloated workspace. I’m sure I’m not the only one. ![]()
Here is a working preview of the said proposal:
Current Problems with Implementation
- Workspace vs. Workspaces
- Implementing a per-workspace “Clear” action feels like the right approach, rather than a global “Clear All Workspaces.” However, iterating over windows and their transients (via
MetaWindow.foreach_transient) doesn’t always close everything. Some dialogs remain open (e.g. the GNOME Settings → About window).
- Implementing a per-workspace “Clear” action feels like the right approach, rather than a global “Clear All Workspaces.” However, iterating over windows and their transients (via
- App Quit Behavior
- Trying to replicate the app quit request (like what Dash’s “Quit” menu option does) also has issues.
- If the same application has multiple windows across workspaces (e.g. Nautilus in workspace 1 and workspace 2), the quit request closes all instances, not just the ones in the active workspace.
- This breaks the expected behavior of “Clear Workspace,” which should only affect the current workspace.
Why This Matters
- Tidiness: Lets users reset a workspace in a single action.
- Accessibility: Reduces repetitive manual window management.
- Performance: Useful for quickly freeing resources on lower-end systems.