-
Notifications
You must be signed in to change notification settings - Fork 107
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
Configurable empty workspace removal behaviour #774
base: master
Are you sure you want to change the base?
Conversation
Ping @pop-os/ux, mostly for taking note of this use-case. (Though I would appreciate some input.) Thank you for the work you put into this, but I honestly don't think we want this contribution - not even as a (likely rarely tested) config option - as this further complicates the workspace logic, which we want to revisit in the future anyway. Static/Named workspaces are still a feature we want to eventually have and it is unclear how exactly that would interact with these changes. (And we don't want to silently drop features, like this config settings, when we start reworking the logic.) |
Sure, no problem. I'll maintain a fork until this usecase is covered. Let me know once there's a design for something like this ready, I'll consider implementing it. The current behavior of the compositor contradicts my workflow in two aspects:
Static workspaces are one way to cover these, but I also think that this logic can be integrated into dynamic ones. A lot of the popular tiling wms/compositors have this behavior by default. From the user perspective though, static vs dynamic matters only in the context of the workspaces widget ui. Compositor may always have a fixed amount of workspaces, but ui displays only non-empty ones, for example. |
This is the planned workspace behavior, which might address your workflow issues: pop-os/cosmic-workspaces-epoch#108 |
Related to #586
Adds a configuration option that allows to choose the behavior of the compositor when an empty workspace gets deactivated.
RemoveEmpty::All
- same as currently, the empty workspace gets removed and the ones after it get shiftedRemoveEmpty::Trailing
- removes only "trailing" empty workspaces, the ones after which there are no non-empty workspaces anymoreBeen running it for a week, works fine. There was an edge case that caused a crash here, because now previously active workspace may become invalid (out of bounds). Let me now if there's a better way to fix it.