Workspace Labels GNOME Shell Extension

This is a GNOME shell extension that lets you see the labels of workspaces in the workspace switcher popup.

Screenshot of Workspace Labels

Written 2012 by
Project webpage: at bitbucket.

Known issues

  • this does not work with the workspace-grid extension; that extension has its own option to turn on and off the labels.


  • how to show names on the workspace thumbnail sidebar in the Overview without it looking ugly?
  • how to show the name of the workspace we've just switched to (in the popup) without it looking ugly (the arrow picture gets in the way)?


One-click install is available from

Otherwise to do it manually:

  1. Download the .zip file on the Downloads page.
  2. Open gnome-tweak-tool, go to "Shell Extensions", "Install Extension" and select the .zip file.


Changing how it looks in the popup

You have to edit stylesheet.css - the .ws-switcher-label style class applies to the labels. You could change the colour or size of the font, for example.

Changing workspace names

This is handled by Metacity/Mutter. The workspace names are stored in dconf key 'org.gnome.desktop.wm.preferences workspace-names' (GNOME 3.4+) or gconf key '/apps/metacity/workspace_names' (GNOME 3.2).

This extension comes with a widget to help you modify these. On GNOME 3.4+, just use the in-built prefs widget:


On GNOME 3.2, you can run the script in the extensions directory:


For Developers:

  • If there is a 'stable' branch, it is meant to be stable at any commit, and should be compatible with both GNOME 3.2 and 3.4 (meaning: configuration occurs via editting extension.js, and possible polyglot statements to import extension files).
  • If there is a 'gnome3.2' branch, it is only compatible with gnome 3.2 (e.g. extension imports are done in the gnome 3.2 fashion, or we use functions depreciated in 3.4, ...)
  • If there is a 'gnome3.4' branch, it is only compatible with gnome 3.4 (extension imports, defining classes with Lang.Class, perhaps a prefs.js and convenience.js, ...)
  • The 'default' branch is not guaranteed to be stable at any commit, and is where development occurs.