Skip to content
Switch branches/tags


Failed to load latest commit information.
Latest commit message
Commit time

Workspace Matrix

GNOME shell extension to arrange workspaces in a two dimensional grid with workspace thumbnails.


Theme: Numix-Complement

This is a clone of the Workspace Grid extension. I was not able to wrap my head around Workspace Grid so I started to implement my own extension to get the features I wanted.


  • Configurable number of rows and columns of the workspace grid.
  • Workspace thumbnails with live previews of the workspaces (optional).
  • Configurable scale of the workspace thumbnails.
  • Configurable timeout of the workspace switcher popup.
  • Three wraparound modes for navigating workspaces (optional).
  • Workspace labels in the workspace switcher popup (optional).
  • Workspace overview on Super+W.
  • Workspace switcher popup on all monitors (optional).
  • Workspace grid in the activity overview (optional).


The easiest way to install this extension is via the GNOME Shell Extensions website.


  • Download the ZIP file of the latest release and extract it to ~/.local/share/gnome-shell/extensions/ Then, run gnome-extensions enable and restart GNOME by pressing Alt+F2 and running the command r ( or log out and back in (Wayland).
  • On Arch Linux you can use this AUR:
    git clone
    cd gnome-shell-extension-workspace-matrix
    makepkg -sri

Known Issues / FAQ

  • shows ERROR after an update of this extension: Restart GNOME Shell by pressing Alt+F2 and running the r command. (#52)
  • My windows jump between workspaces after the machine was locked or suspended: Disable the extension, set workspaces to "static" in GNOME Tweaks and then enable this extension again. (#29)
  • How do I change the keyboard shortcuts? Take a look at the wiki for the available shortcuts of this extension and how to change them.
  • How do I change the workspace labels? Take a look at the wiki for a how-to.


Pull requests for issues that are marked as "bug" or "help wanted" are always welcome. If you want to implement any other new feature, please open an issue about this first. See the next section on how to get started with development.

If you want to report a bug, please attach the output of the command journalctl /usr/bin/gnome-shell.


You can develop this extension "live" while it is installed in GNOME on your system:

  1. Uninstall this extension if it is already installed. You can do this via the GNOME Shell Extensions website.
  2. Fork this repository and clone your fork somewhere, e.g. to ~/code/gnome-shell-wsmatrix.
  3. (optional) If testing a pull request, you may checkout the branch of the pull request using the gh utility command e.g.:
    gh pr checkout
  4. Create a symlink from the repository to the GNOME extensions directory, e.g.:
    ln -s ~/code/gnome-shell-wsmatrix/ ~/.local/share/gnome-shell/extensions/
  5. Restart GNOME by pressing Alt+F2 and running the command r ( or log out and back in (Wayland). Do this whenever you want to apply and test a change of the code.

If you change something in the gschema XML file, run make to recompile it. The make command also builds the ZIP file that can be used for new releases of this extension.