Add workspaces for each display separately

using gnome daily for work and private stuff, i often switch between workspaces on primary display only.
Switching workspaces on all displays at the same time isn’t useful for me, cause i have 3 displays.
And most of the time i don’t wanna switch the entire workspace.

I personally would love to see separate workspaces for each display.

  • This could help following scenario:
    Display left: (open apps)
    - ms Teams (workspace 1)
    - other chat tool (workspace 2)

    Display middle: (open apps)
    - vs code (workspace 1)
    - sublime merge or other git tool (workspace 2)

    Display right: (open apps)
    - Firefox (workspace 1)
    - other browser for testing (workspace 2)

Having separate workspaces enabled, i have more flexibility than with primary only.
And i can still use workspace 1 and workspace 2 at the same time and i’m not limited to choose either workspace 1 or workspace 2 while having workspaces on all displays enabled.

Design in Settings Application

For showcase purposes i added a switch to multi-monitor view.

Another design option would be using this widget. (Screenshot from mouse settings)

Sometimes grouped workspaces are required as there are multiple groups of apps/views that need to be viewed together logically (like live trading graphs). In such cases, it makes sense that all displays change simultaneously.

So there needs to be two settings, viz.

  1. Activate workspaces across all displays
  2. Select if workspaces are grouped across displays

Thats right.
I don’t want to remove the ability to switch all workspaces simultaneously.

In fact I want to add a toggle switch or a split select. (compare screenshots)
The UI in gnome-control-center was relatively easy to update. But i have no clue where to look for the actual workspaces (maybe mutter oder gnome-shell)

I will clarify this and update the original post.

Could someone give me a hint where to look for the workspaces?

I found sections in mutter and gnome-shell. But I don’t get the whole data flow tbh.
I would like to implement this feature…