How to Disable Automatic Workspaces in Gnome 3 (And Other Shell Tweaks)

As we’ve mentioned several times before, a few of us here at MakeTechEasier are big fans of Gnome 3. Sadly, since the project is still fairly young, it’s not nearly as configurable or feature-rich as its 2.x cousins. At the moment, the standard install provides no quick and obvious way to change many of the settings, so applications like the Gnome Tweak Tool have been created to give users a few more options. Even those tools, however, still leave many desirable options out – such as the ability to manage your workspaces by hand. Initial builds of Gnome Shell showed a linear or grid-based approach that this author, for one, prefers to the current automatic approach. Here’s how to get some of that back.

The Gnome developers expected that users would want to customize the shell in unpredictable ways, so they made just about everything in the system extensible through JavaScript and CSS. I hope you web developers out there take notice of this, because it gives your desktop a LOT of potential. The extensions we’re going to be using here come from the Frippery pack, which can be downloaded here.

It contains more than just the ability to disable the auto workspace management, it’s intended to give back some features that Gnome 2 users might miss. There are additional extensions to add an Applications menu, Shutdown menu, and lower panel.

Fedora 15 users will find an RPM at the above link, other should be warned that the files in the tarball may not extract quite the way you’d expect. The compressed file contains not just a single directory with the extension files, but a full directory tree that expects to be extracted from your home directory, as shown here:

# If the file is in, say, your Downloads directory
cd Downloads
# Filename may vary
mv gnome-shell-frippery-0.2.3.tgz ~
cd
tar -zxvf gnome-shell-frippery-0.2.3.tgz

As mentioned earlier, there is an application called Gnome Tweak Tool that can provide a few configuration options. One feature is that it lets you easily activate and deactivate shell extensions. If your distribution natively supports Gnome 3 (such as Fedora 15), then you may be able to find it in your repositories.

If not, then you’ll have to do it manually. Use your normal package manager to install git, and then issue the following commands at your terminal:

git clone http://git.gnome.org/browse/gnome-tweak-tool
cd gnome-tweak-tool
./autogen.sh
make && sudo make install

If all goes well you should be able to launch the program and have full control over your extensions.

gnome3workspaces-tweaktool

Regarding the auto-workspaces – if you want to set a specific number to remain permanently, you’ve got to first use the builtin Auto functionality to create them, and once you have the desired number, use the Tweak tool to disable it. Workpaces will no longer be added or removed by Gnome.

gnome3workspaces-done

While it serves its purpose, this is still a hack. It provides no way to add or remove manually, just enabling and disabling the Auto feature. Many Gnome Shell users, this author included, would love the option to use any of the previous workspace systems, as shown here. To me, all the earlier workspace management designs were more usable, particularly the original grid. This is my plea to the Gnome developers or any JavaScript gurus – since all those approaches have, at some point, been implemented in Gnome 3, could we please, pretty please, have them in the form of extensions?