gnome-shell-extension-scroll-panel
gnome-shell-extension-scroll-panel copied to clipboard
Gnome Shell extension that allows to switch between workspaces and applications by scrolling mouse wheel above the top panel.
Scroll Panel extension for Gnome Shell
Extension allows switching between windows or workspaces by scrolling Gnome Shell topbar with mouse or extra buttons (both in overview and workspace mode).

Extension is highly configurable; defaults are:
- scroll the topbar over the clock or empty space to switch workspaces;
- scroll the overview button or application name in topbar to switch windows.

License, feedback and contributions
This software is distributing under MIT (X11) license, provided "as is" and without a warranty of any kind. You can take a look at LICENSE file.
Feel free to contribute (especially localizations) or send feedback at https://github.com/mrEDitor/gnome-shell-extension-scroll-panel/
Installation
You can install the extension from https://extensions.gnome.org/extension/4257/.
Target Gnome versions are Gnome Shell 40+.
Installation from scratch
You will need yarn installed to run build scripts.
-
Clone source code from GitHub:
git clone https://github.com/mrEDitor/gnome-shell-extension-scroll-panel cd gnome-shell-extension-scroll-panel -
Checkout the latest available tag (not tagged commits may be broken):
git checkout $(git rev-list --tags --max-count=1) -
Build the extension and install it into your Gnome Shell:
yarn run yarn:restore yarn run gnome:install -
Re-login to Gnome Shell.
-
Enable (and configure, if needed) extension with Extensions app or command:
gnome-extensions enable io.github.mreditor.gnome-shell-extensions.scroll-panel
Development
You will need yarn installed
to run build scripts. However the yarn is recommended as more efficient,
build scripts are designed to work with npm packages as well.
To setup development environment:
-
Restore yarn build tools and dependencies:
yarn run yarn:restore -
Optionally install yarn sdk for your environment (see yarn sdks for more information):
yarn dlx @yarnpkg/sdks vscode yarn dlx @yarnpkg/sdks vim -
See build script options available via:
yarn run build --help -
Also build script can containerize whole building process. For this, fetch Gnome Shell extension environment container as git submodule:
git submodule update --init --recursiveNow you can use
podmanbuild script, see details with:yarn run podman --helpContainer may be used as environment for tests or demonstration as well, even on some non-linux or no-gtk systems.
Localization
-
Create empty .po-file under
localesdirectory and name it after the target locale (e.g.en.pooren_US.po). -
Build the project to populate locale files with messages to localize from
locales/messages.pot:yarn run yarn:restore yarn run build -
Translate messages in .po-file.
-
Finally, build and lint project with:
yarn run build --lint=immutableImmutable lint mode will warn you if you should return to step 2 and update translation template.
Previous versions
Previous versions are available as:
- extensions.gnome.org page for v1 (Gnome Shell 3.14-3.18);
- extensions.gnome.org page for v3 (Gnome Shell 3.20-3.38);
- source code at GitHub.com;
- releases at GitHub.com.