More than 36 Workspaces

it does not appear to be possible with the default window manager perhaps if you used compiz, but otherwise not

1 Like

I have to ask: what is the use case for having 36 workspaces?

And question #2: per your future needs, if it would support 36 workspaces, would you ever need to go higher than that?

Current limits put aside if you would consider adding a 2nd physical screen to your device then that would bring your total usage to 36 workspaces of 2 panels which isn't bad.

Lastly, consumer grade video cards (read: affordable ones) support up to 3 monitors.

2 Likes

I admit my use case is rare. However, the 36 workspace limit seems arbitrary. I write software for several industries, including finance. We monitor portfolio positions in multiple markets with supporting analysis tailored to that market. I organize my workspace so that each one is tailored to a market, and, recently, we surpassed 36 markets.

> Lastly, consumer grade video cards (read: affordable ones) support up to 3 monitors.

I have eight 32" displays.

Have you tried virtual machines? Each one with 36 work spaces. It sounds like you have the available horsepower. I don't know if there would be technical issues, but that would be my first attempt at a single cpu station.

I don't want to slice up resources on my machine across multiple VMs. I have an AMD TR-PRO-5995WX that offers all 64 cores to any workspace I'm on. Also, the workspace environment would no longer be flat--it would be nested in each VM.

if you switch to compiz it may be possible to have more than 36 workspaces

Hi, @nkabir,

you may want to read this thread:

5 Likes

I tried the fix but am unable to get more than 36 workspaces in MATE 1.26

I found a gsettings key that was still set to 36. I changed it to 250

gsettings set org.mate.Marco.general num-workspaces 250

But received the error:

$ Window manager warning: 72 stored in GSettings key num-workspaces is out of range 1 to 36```

Where is this 36 limit set? I've recompiled Marco with

#define MAX_REASONABLE_WORKSPACES 250

1 Like

I've found that

org.gnome.desktop.wm.preferences num-workspaces

also affects the maximum number of workspaces. Does gnome need to be recompiled as well or is there a configuration file that may be directly edited?

1 Like

Since 22.04 uses snaps, there are extra steps needed. I've managed to get all values in GSettings to be above 36 but I'm still restricted to 36. I've recompiled marco and mate-panel.

$ gsettings set org.mate.Marco.general num-workspaces 72

Window manager warning: 
72 stored in GSettings key num-workspaces is out of range 1 to 36

I cannot find a references to 36 in the source code or in any of the settings

$ gsettings list-recursively | grep num-workspaces
ca.desrt.dconf-editor.Settings saved-pathbar-path '/org/gnome/desktop/wm/preferences/num-workspaces'
org.cinnamon.desktop.wm.preferences num-workspaces 72
org.gnome.desktop.wm.preferences num-workspaces 72
org.mate.Marco.general num-workspaces 72
1 Like

Hi probably misunderstand if above references 36 in source code or settings elsewhere. If elsewhere I find in dconf editor this:

3 Likes

Hi, @nkabir,

I assume you edited following files:

  • marco/src/core/prefs.c
  • marco/src/org.mate.marco.gschema.xml
  • mate-panel/applets/wncklet/workspace-switcher.ui

then compiled marco and mate-panel and installed these compiled packages.

Now, does /usr/share/glib-2.0/schemas/org.mate.marco.gschema.xml file in your system reflect the changes? If yes, I think, since the gschema file for marco was changed during your update, you have to additionally recompile gschema files using glib-compile-schemas function.

Try running sudo glib-compile-schemas /usr/share/glib-2.0/schemas in terminal.

1 Like

Thank you, @ironfoot. I've done that. And taken the further step of updating the gnome-42 snap on Ubuntu Mate 22.04. All the files reflect workspaces > 36 yet 36 is still the limit.

Have you successfully increased the workspace count beyond 36 on Ubuntu Mate 22.04?

I did this as an exercise in Ubuntu Mate 23.10.
marco-1.26.2
mate-panel-1.27.1

1 Like

Thank you, @ironfoot. I'll try to replicate your setup in Ubuntu Mate 23.10.

You followed the instructions here?

You are welcome, @nkabir.

I used the tutorial from @gordon and edited sources obtained from ubuntu repository:

Yes. I had to edit 3 files:

  • marco/src/core/prefs.c --> redefine MAX_REASONABLE_WORKSPACES ;
  • marco/src/org.mate.marco.gschema.xml --> change num-workspaces range AND edit org.mate.Marco.workspace-names schema, add keys for all extra workspaces by hand ;
  • mate-panel/applets/wncklet/workspace-switcher.ui --> edit num_workspaces_adjustment object .

Then I compiled marco and mate-panel and installed all created .debs.

This was unnecessary. Looks like I had the schemas recompiled automatically during .deb installation.

1 Like

I see. I cloned

Both only have 1.26 branches (no 1.27). I got the same error:

Window manager warning: 72 stored in GSettings key num-workspaces is out of range 1 to 36

In Ubuntu 23.10

I will try to make the modifications using the @gordon method next. Thank you for the guidance!

I think this warning means that schema is not properly compiled for some reason. That's why I recommended to recompile it earlier. I also believe the method will work in 22.04, I just don't have a suitable virtual machine with 22.04 for experiments.

By the way, marco is using this magic number -- 36 -- in marco/src/core/keybindings.c file too, and it is related to workspace count. I'd edit it there as well.

Good luck!

Building via the deb-src was the missing piece.

Everything works in 22.04. Thanks again for all of the help. And thanks for MATE. It's so elegantly unobtrusive that I forget it's there and can focus on the problem I'm trying to solve. That clarity is impossible on Windows and MacOS.

3 Likes