{"id":13553498,"url":"https://github.com/mzur/gnome-shell-wsmatrix","last_synced_at":"2025-05-15T15:05:19.178Z","repository":{"id":39380597,"uuid":"151755756","full_name":"mzur/gnome-shell-wsmatrix","owner":"mzur","description":"GNOME shell extension to arrange workspaces in a two-dimensional grid with workspace thumbnails","archived":false,"fork":false,"pushed_at":"2025-03-18T07:56:41.000Z","size":603,"stargazers_count":477,"open_issues_count":33,"forks_count":61,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-31T19:09:56.973Z","etag":null,"topics":["gnome-shell-extension","workspace-thumbnails","workspaces"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mzur.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"mzur","custom":["https://www.paypal.me/drmzur","https://www.paypal.me/IAlmarhoon"]}},"created_at":"2018-10-05T17:29:18.000Z","updated_at":"2025-03-19T14:09:27.000Z","dependencies_parsed_at":"2023-02-02T20:45:58.719Z","dependency_job_id":"b140462d-ecda-4f35-8cc2-9c3fac557e76","html_url":"https://github.com/mzur/gnome-shell-wsmatrix","commit_stats":null,"previous_names":[],"tags_count":48,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzur%2Fgnome-shell-wsmatrix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzur%2Fgnome-shell-wsmatrix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzur%2Fgnome-shell-wsmatrix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mzur%2Fgnome-shell-wsmatrix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mzur","download_url":"https://codeload.github.com/mzur/gnome-shell-wsmatrix/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247721898,"owners_count":20985084,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gnome-shell-extension","workspace-thumbnails","workspaces"],"created_at":"2024-08-01T12:02:26.469Z","updated_at":"2025-04-07T20:10:03.565Z","avatar_url":"https://github.com/mzur.png","language":"JavaScript","funding_links":["https://github.com/sponsors/mzur","https://www.paypal.me/drmzur","https://www.paypal.me/IAlmarhoon"],"categories":["JavaScript","HarmonyOS","others"],"sub_categories":["Windows Manager"],"readme":"# Workspace Matrix\n\nGNOME shell extension to arrange workspaces in a two dimensional grid with workspace thumbnails.\n\n\u003cp align=\"center\"\u003e\n   \u003cimg src=\"preview.png\" alt=\"Preview\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n   \u003csup\u003eTheme: \u003ca href=\"https://github.com/mzur/Numix-Complement\"\u003eNumix-Complement\u003c/a\u003e\u003c/sup\u003e\n\u003c/p\u003e\n\nThis is a clone of the [Workspace Grid](https://github.com/zakkak/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.\n\n## Features\n\n- Configurable number of rows and columns of the workspace grid.\n- Workspace thumbnails with live previews of the workspaces (optional).\n- Configurable scale of the workspace thumbnails.\n- Configurable timeout of the workspace switcher popup.\n- Three wraparound modes for navigating workspaces (optional).\n- Workspace labels in the workspace switcher popup (optional).\n- Workspace overview on \u003ckbd\u003eSuper\u003c/kbd\u003e+\u003ckbd\u003eW\u003c/kbd\u003e.\n- Workspace switcher popup on all monitors (optional).\n- Workspace grid in the activity overview (optional).\n\n## Installation\n\nThe easiest way to install this extension is via the [GNOME Shell Extensions](https://extensions.gnome.org/extension/1485/workspace-matrix/) website. Alternative installation methods are noted below.\n\n[\u003cimg src=\"https://raw.githubusercontent.com/andyholmes/gnome-shell-extensions-badge/master/get-it-on-ego.svg?sanitize=true\" height=\"100\"\u003e](https://extensions.gnome.org/extension/1485/workspace-matrix/)\n\n### GNOME Shell Extensions Website Method\n\n1. Visit the [GNOME Shell Extensions](https://extensions.gnome.org/extension/1485/workspace-matrix/) website. Follow the instructions to install the [GNOME native host connector/messaging application](https://wiki.gnome.org/Projects/GnomeShellIntegrationForChrome/Installation) and browser extension.\n2. To install Workspace Matrix, click to toggle the \"Off\" icon on the [extension page](https://extensions.gnome.org/extension/1485/workspace-matrix/). A red \"ERROR\" icon can safely be [ignored](https://github.com/mzur/gnome-shell-wsmatrix/issues/52). This issue is resolved after a [restart](#how-do-i-restart-gnome-shell) of GNOME Shell.\n3. [Restart](#how-do-i-restart-gnome-shell) GNOME Shell.\n\nTo configure the extension, return to the [extension page](https://extensions.gnome.org/extension/1485/workspace-matrix/) page and click the blue \"tool\" icon.\n\n### Manual Linux Method\n\n1. Download the ZIP file of the [latest release](https://github.com/mzur/gnome-shell-wsmatrix/releases) and extract it to `~/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz.de` \n2. [Restart](#how-do-i-restart-gnome-shell) GNOME Shell.\n3. Run `gnome-extensions enable wsmatrix@martin.zurowietz.de` in the terminal.\n4. [Restart](#how-do-i-restart-gnome-shell) GNOME Shell a second time.\n\n### Arch Linux Method\n\nOn Arch Linux, use [this AUR](https://aur.archlinux.org/packages/gnome-shell-extension-workspace-matrix):\n   ```\n   git clone https://aur.archlinux.org/gnome-shell-extension-workspace-matrix.git\n   cd gnome-shell-extension-workspace-matrix\n   makepkg -sri\n   ```\n\n### Nix/NixOS Method\n\nThis extension is already on [Nix packages](https://search.nixos.org/packages?channel=23.05\u0026show=gnomeExtensions.workspace-matrix\u0026from=0\u0026size=50\u0026buckets=%7B%22package_attr_set%22%3A%5B%22gnomeExtensions%22%5D%2C%22package_license_set%22%3A%5B%5D%2C%22package_maintainers_set%22%3A%5B%5D%2C%22package_platforms%22%3A%5B%5D%7D\u0026sort=relevance\u0026type=packages\u0026query=matrix), so it should be as simple as installing it with:\n```\nnix-env -iA nixos.gnomeExtensions.workspace-matrix\n```\nor this for nix (not NixOS) users:\n```\nnix-env -iA nixpkgs.gnomeExtensions.workspace-matrix\n```\n\n## Known Issues / FAQ\n\n### How do I restart GNOME Shell?\n\n- If you are running the newer [Wayland](https://wayland.freedesktop.org/) system, log out and log back in.\n\n- If you are running the X.org/X window system, press \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eF2\u003c/kbd\u003e, type \u003ckbd\u003er\u003c/kbd\u003e in the \"Run a command\" prompt and press \u003ckbd\u003eEnter\u003c/kbd\u003e.\n\n### My windows jump between workspaces after the machine was locked or suspended\n\nDisable the extension, set workspaces to \"static\" in GNOME Tweaks and then enable this extension again. ([#29](https://github.com/mzur/gnome-shell-wsmatrix/issues/29))\n\n### How do I change the keyboard shortcuts?\n\nTake a look at the [wiki](https://github.com/mzur/gnome-shell-wsmatrix/wiki/Custom-keyboard-shortcuts) for the available shortcuts of this extension and how to change them.\n\n### How do I change the workspace labels?\n\nTake a look at the [wiki](https://github.com/mzur/gnome-shell-wsmatrix/wiki/Assigning-custom-labels-to-workspaces) for a how-to.\n\n### How do I manually open the Workspace Matrix preferences window?\n\nGo to the terminal and run `gnome-extensions prefs wsmatrix@martin.zurowietz.de` and the preferences pop-up should appear. Closing this pop-up will save any changes.\n\n\n## Contributing\n\nPull 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.\n\nIf you want to report a bug, please attach the output of the command `journalctl /usr/bin/gnome-shell`.\n\n## Developing\n\nYou can develop this extension \"live\" while it is installed in GNOME on your system:\n\n1. Uninstall this extension if it is already installed. You can do this via the [GNOME Shell Extensions](https://extensions.gnome.org/extension/1485/workspace-matrix/) website.\n2. Fork this repository and clone your fork somewhere, e.g. to `~/code/gnome-shell-wsmatrix`.\n3. (optional) If testing a pull request, you may checkout the branch of the pull request using the [`gh`](https://github.com/cli/cli) utility command e.g.:\n   ```\n   gh pr checkout https://github.com/mzur/gnome-shell-wsmatrix/pull/152\n   ```\n4. Create a symlink from the repository to the GNOME extensions directory, e.g.:\n   ```\n   ln -s ~/code/gnome-shell-wsmatrix/wsmatrix@martin.zurowietz.de ~/.local/share/gnome-shell/extensions/wsmatrix@martin.zurowietz.de\n   ```\n5. Restart GNOME by pressing \u003ckbd\u003eAlt\u003c/kbd\u003e+\u003ckbd\u003eF2\u003c/kbd\u003e 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.\n\nIf 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmzur%2Fgnome-shell-wsmatrix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmzur%2Fgnome-shell-wsmatrix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmzur%2Fgnome-shell-wsmatrix/lists"}