PaperWM
PaperWM copied to clipboard
Add options to isolate monitors and hide empty spaces
This adds two options to the "Toggles" section of the extension settings:
The options change the behavior when switching workspaces by stack using e.g. Super+Above_Tab.
Rationale
Isolate Monitors
I use a multi-monitor setup and tend to leave workspaces assigned to a given monitor. Super+Above_Tab is the quickest way to switch recent workspaces, but often I end up switching to a workspace that was assigned to another monitor by mistake, switching to the wrong workspace and assigning the workspace the wrong monitor. Showing only workspaces that belong to the active monitor avoids this kind of mistake.
Hide Empty Spaces
At the moment, I use 10 static workspaces. Showing all of them in the recent-workspaces switcher adds a lot of clutter and makes it hard to find workspaces, that actually have windows on them. Additionally, selecting an empty workspace from the recent-workspaces switcher is almost never what I want to do. When I want an empty workspace, I can still get to one by using the ordered-workspace switcher, by selecting it directly using a shortcut, or assign a shortcut especially for going to an empty workspace.
Considerations
This pull request solves my problems, but one could consider a few changes:
- Make some of these options default instead of having toggles
- Find a better category in the settings widget / make the effect of the settings clearer
- Add an option to show only a single empty workspace in the switcher
- Apply settings also to the ordered-workspace switcher
I don't have a good idea which of the proposed changes might be useful, but I'm happy to adapt the pull request if needed.
Yep, isolating workspaces for super+above_tab is probably worth an option :+1: And might be a good default when we support moving workspaces between monitors better in the future.
I think a better default solution for the empty workspace is always sorting empty spaces below populated ones, this is a simple change that doesn't suffer hiding things from the user. In general we do try to limit the amount of options as it adds a fair bit of complexity in testing and maintenance. So I strongly prefer behavior that works well as default and gets out of your way.
Hope that makes :)
And might be a good default when we support moving workspaces between monitors better in the future.
For me, a custom keybinding works quite well for thits. I found that there are situations, where I like the current behavior with workspaces from all monitors being shown, though.
I think a better default solution for the empty workspace is always sorting empty spaces below populated ones
That would definitely help. For now, I would still prefer to only show a single empty workspace, but this wouldn't be a problem with dynamic workspaces. Currently, mainly https://github.com/paperwm/PaperWM/issues/318 keeps me from using that.