Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add options to isolate monitors and hide empty spaces #361

Draft
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

christopher-l
Copy link
Contributor

This adds two options to the "Toggles" section of the extension settings:
image
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.

@hedning
Copy link
Member

hedning commented Jan 16, 2021

Yep, isolating workspaces for super+above_tab is probably worth an option 👍 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 :)

@christopher-l
Copy link
Contributor Author

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 #318 keeps me from using that.

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.

2 participants