Gala: Make workspaces require less setup

Created on 28 Jun 2019  ·  11Comments  ·  Source: elementary/gala

It is apparent that people do not use workspaces at all, simply because they require additional work to setup on each boot.

I believe that we could develop a system for automatically managing windows and moving them to a workspace without any explicit actions performed by the user.

This is partially solved (but still not quite the way I'd imagine it to be) in Blockbuster. You can pre-assign specific apps to workspaces so that when you open an app, it automatically gets moved to a workspace without the having user do that everytime.


Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Needs Design

Most helpful comment

Couldn't be that the reason people don't use workspaces more is because they don't need them?

I really don't find using workspaces too much work. You can easily reorder windows using the multitasking view or the shortcuts "⌘ + Alt + →" and "⌘ + Alt + ←". This is already better than all desktops i can think of.

Anyway for people that find this a problem a maybe better solution could be save the state of the os when shutting down or restarting. This way you woudn't have to setup the workspaces on boot, it would need a lot less design and i think could be a lot more intuitive.

All 11 comments

How should people configure this without a separate app?

Should there be some kind of UI to enable/disable Keep in Workspace / Assigned to workspace? A bit like how that works in Plank:
Screenshot from 2019-06-28 16 40 <a href="07@2x">07@2x</a>
Maybe in the multitasking view we could add some kind of button on a corner of apps with a pin icon for this?

Should we add another tab to the Desktop system settings?

Some of the elementary OS devs pointed out that maybe applications should just automatically open in the workspace they where previously in.

Does this work with dynamic workspaces?

What happens if i want my favourite video player to open on workspace 4, but 2 or 3 are not populated?

Maybe merging static and dynamic workspaces could work. #455

@Blast-City something that Daniel brought up is that instead of depending on hard numbers like workspace 1 or 3, we should instead save the position relative to the opened app. So if you open a video player initially, it stays one the first and only workspace. When you open another app, it gets moved to the direction it was before. Again, this is only one case of this particular problem, and as you've said we could look into different solutions such as merging both modes.

@Blast-City something that Daniel brought up is that instead of depending on hard numbers like workspace 1 or 3, we should instead save the position relative to the opened app. So if you open a video player initially, it stays one the first and only workspace. When you open another app, it gets moved to the direction it was before. Again, this is only one case of this particular problem, and as you've said we could look into different solutions such as merging both modes.

Doesn't that solution involves saving a lot of information?

@Blast-City I don't think so. If I understand correctly, the only thing you want is a list of saved workspace configurations. So e.g:

  • Workspace 1: app 1, app 2
  • Workspace 2: app 3, app 4
  • Workspace 3: app 5, app 6

Each app is just a string identifying it.
For wayland this would be a little different in that each app has to also have info about it's previous state.
So if you open app 4, it will appear one the first workspace. Then, if you open app 1, gala will find it in the list and get the difference between app 1 and app 4 in workspaces. It will then put it app 1 based on that difference. Of course, this algorithm is quite simplified because the setup is also quite simple.

@Blast-City I don't think so. If I understand correctly, the only thing you want is a list of saved workspace configurations. So e.g:

* Workspace 1: app 1, app 2

* Workspace 2: app 3, app 4

* Workspace 3: app 5, app 6

Each app is just a string identifying it.
For wayland this would be a little different in that each app has to also have info about it's previous state.
So if you open app 4, it will appear one the first workspace. Then, if you open app 1, gala will find it in the list and get the difference between app 1 and app 4 in workspaces. It will then put it app 1 based on that difference. Of course, this algorithm is quite simplified because the setup is also quite simple.

I like it, but I think that involves having all the apps you want to set open when the saving is done.

Wouldn't it better to have a save button (peteruithoven post) that would open a popup that asks you in what workspace would you like to save this app. This way when you open apps it would compare with the saved list and move according to it. You could see the saved apps in a workspaces tab in the desktop settings (like the link in your op). This workspaces tab could also have other options related to workspaces like the disable "isolate fullscreen apps".

Example:
Workspace 1 - Terminal

1- Press "Save workspace position" - Popup shows asking workspace number - Choose workspace 3
2- Open a browser in workspace 1

Result:
Teminal keeps moving to +1 workpace until there's no three workspaces.

Workspace 1 - Browser
Workspace 2 - Terminal

@Blast-City this could be possible but I feel like it still requires interaction from the user, it's still too much work. I believe that people don't use workspaces because they are never really part of the core experience anywhere. They are always "in there", but only that.

I also don't know if we want to go the way Blockbuster does this - by letting the user reorder everything however he likes.

An initial implementation of this is here: https://github.com/elementary/gala/tree/intelligent-workspaces. This is of course experimental and can crash.
It doesn't require any additional setup, just install the branch and restart gala.

Couldn't be that the reason people don't use workspaces more is because they don't need them?

I really don't find using workspaces too much work. You can easily reorder windows using the multitasking view or the shortcuts "⌘ + Alt + →" and "⌘ + Alt + ←". This is already better than all desktops i can think of.

Anyway for people that find this a problem a maybe better solution could be save the state of the os when shutting down or restarting. This way you woudn't have to setup the workspaces on boot, it would need a lot less design and i think could be a lot more intuitive.

I agree with @amzamora - I use workspaces extensively, but I have just one app that's always on the same workspace (music player on 1st workspace). All other stuff depends on what I'm doing at the moment. Sometimes I have browser in the same space as Files, sometimes in different one. The current system is pretty flexible and allows me to quickly get what I want and get to work.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

worldofpeace picture worldofpeace  ·  3Comments

danrabbit picture danrabbit  ·  3Comments

peteruithoven picture peteruithoven  ·  3Comments

hanaral picture hanaral  ·  4Comments

uncertainquark picture uncertainquark  ·  4Comments