• Stars
    star
    463
  • Rank 94,316 (Top 2 %)
  • Language
    JavaScript
  • License
    GNU General Publi...
  • Created about 6 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

Workspace Matrix

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

Preview

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.

Features

  • 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).

Installation

The easiest way to install this extension is via the GNOME Shell Extensions website. Alternative installation methods are noted below.

GNOME Shell Extensions Website Method

  1. Visit the GNOME Shell Extensions website. Follow the instructions to install the GNOME native host connector/messaging application and browser extension.
  2. To install Workspace Matrix, click to toggle the "Off" icon on the extension page. A red "ERROR" icon can safely be ignored. This issue is resolved after a restart of GNOME Shell.
  3. Restart GNOME Shell.

To configure the extension, return to the extension page page and click the blue "tool" icon.

Manual Linux Method

  1. Download the ZIP file of the latest release and extract it to ~/.local/share/gnome-shell/extensions/[email protected]
  2. Restart GNOME Shell.
  3. Run gnome-extensions enable [email protected] in the terminal.
  4. Restart GNOME Shell a second time.

Arch Linux Method

On Arch Linux, use this AUR:

git clone https://aur.archlinux.org/gnome-shell-extension-workspace-matrix.git
cd gnome-shell-extension-workspace-matrix
makepkg -sri

Known Issues / FAQ

How do I restart GNOME Shell?

  • If you are running the newer Wayland system, log out and log back in.

  • If you are running the X.org/X window system, press Alt+F2, type r in the "Run a command" prompt and press Enter.

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.

How do I manually open the Workspace Matrix preferences window?

Go to the terminal and run gnome-extensions prefs [email protected] and the preferences pop-up should appear. Closing this pop-up will save any changes.

Contributing

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.

Developing

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 https://github.com/mzur/gnome-shell-wsmatrix/pull/152
    
  4. Create a symlink from the repository to the GNOME extensions directory, e.g.:
    ln -s ~/code/gnome-shell-wsmatrix/[email protected] ~/.local/share/gnome-shell/extensions/[email protected]
    
  5. Restart GNOME by pressing Alt+F2 and running the command r (X.org) 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.

More Repositories

1

kirby-uniform

A versatile Kirby plugin to handle web form actions.
PHP
249
star
2

kirby-calendar-plugin

A plugin for the Kirby CMS to easily implement an event calendar.
PHP
97
star
3

watershed

A Python implementation of the watershed image segmentation algorithm
Python
78
star
4

pyJBU

A Python implementation of Joint Bilateral Upsampling
Python
38
star
5

pretty-formula

A small Java library to parse mathematical formulas to LaTeX and display them as images
Java
31
star
6

gnome-shell-always-indicator

GNOME shell extension to always show the new messages indicator on new messages
JavaScript
23
star
7

InvoiScript

Generate simple PDF invoices with PHP
PHP
17
star
8

gnome-shell-batime

GNOME shell extension to show the remaining time until fully charged/discharged instead of the battery charge in percent in the panel
JavaScript
16
star
9

laravel-openstack-swift

OpenStack Swift storage driver for Laravel/Lumen
PHP
7
star
10

eutils-pubmed-summary

A Joomla! 3 plugin for including automatically generated summaries of PubMed articles.
JavaScript
4
star
11

gulp-helpers

Gulp helper functions for a Laravel application/package which are much faster than Laravel Elixir
JavaScript
2
star
12

laravel-mix-artisan-publish

Laravel Mix plugin to run 'php artisan vendor:publish' by chaining '.publish()'
JavaScript
2
star
13

coffee-dev-grunt

A small setup for developing a CoffeeScript application with TDD
CoffeeScript
2
star
14

dkb2mt940

Convert a DKB CSV export to MT940
Python
1
star
15

sublime-text-installer

[not maintained] Source for the sublime-text-installer PPA
Shell
1
star
16

kirby-defuse-session

Allows you to to write tests for code that uses the Kirby 3 session
PHP
1
star