$linuxjunkies
>

GNOME Extensions for Power Users

Install and configure Extension Manager, Tactile, Just Perfection, AppIndicator, and Auto Move Windows to build a productive GNOME power-user desktop.

BeginnerUbuntuDebianFedoraArch8 min readUpdated June 7, 2026

Before you start

  • GNOME Shell 44 or newer (check with gnome-shell --version)
  • A working internet connection for Extension Manager to reach extensions.gnome.org
  • Flatpak configured if installing Extension Manager via Flatpak

GNOME's extension system lets you reshape the desktop without patching core code. The four extensions covered here — Tactile, Just Perfection, AppIndicator and KStatusNotifierItem Support, and Auto Move Windows — address real workflow pain points: tiling, visual clutter, system-tray compatibility, and window placement. Before installing any of them, you need a reliable way to manage extensions, and that means Extension Manager, a native GTK4 app that replaces the old browser-plugin workflow entirely.

Install Extension Manager

Extension Manager by Matt Jakeman is the de-facto standard tool for browsing, installing, and configuring GNOME extensions without touching a browser. It communicates directly with extensions.gnome.org and handles version compatibility checks automatically.

Debian / Ubuntu

sudo apt install gnome-shell-extension-manager

Fedora / RHEL / Rocky

sudo dnf install gnome-shell-extension-manager

If the package is not in your distro repos yet, install via Flatpak (available everywhere):

flatpak install flathub com.mattjakeman.ExtensionManager

Arch

sudo pacman -S gnome-shell-extension-manager

Launch it from the application grid or run extension-manager from a terminal. The Browse tab searches extensions.gnome.org live; the Installed tab manages what you already have.

Tactile — Keyboard-Driven Tiling

Tactile adds a tiling overlay you summon with a hotkey. You press the trigger, see a labeled grid on screen, then tap a letter to snap the focused window into that tile. No mouse needed.

Install

Open Extension Manager → Browse → search Tactile → click Install. Alternatively, install via the GNOME Extensions CLI helper:

gext install [email protected]

Configure

Open Tactile's settings from Extension Manager → Installed → Tactile → gear icon. The important knobs:

  • Trigger key: default is Super+T. Change it if that conflicts with a terminal shortcut.
  • Layout: the default is a 3×2 grid. You can add rows and columns and assign per-monitor layouts.
  • Gap size: set a pixel gap between tiles if you want visual breathing room.

After pressing the trigger, the overlay appears. Each tile shows a letter. Press the letter (or two letters for a span) and the window fills that region. Press Escape to dismiss without moving anything.

Just Perfection — Declutter the Shell

Just Perfection gives you per-element toggles for almost everything in the GNOME shell: the top bar, Activities button, app menu, search, workspace switcher, notifications, and more. It is the fastest way to strip the shell down to essentials or tune animation speeds.

Install

gext install just-perfection-desktop@just-perfection

Or find it in Extension Manager → Browse → search Just Perfection.

Open its preferences (gear icon in Extension Manager):

  • Visibility → Activities Button: disable if you rely on Super key alone and want a cleaner bar.
  • Visibility → App Menu: disable the per-app name in the top bar; it wastes space on small displays.
  • Visibility → Search: disable the overview search bar if you use a separate launcher like GNOME Run or Ulauncher.
  • Behavior → Animation Speed: drop from 1× to 0.4× for snappier transitions without disabling animations entirely.
  • Customize → Top Bar Corner Size: set to 0 for a flat bar consistent with most GTK themes.

Changes apply immediately; no restart required. Use the Reset button at the bottom if you want to start over.

AppIndicator and KStatusNotifierItem Support

Many applications — Dropbox, Nextcloud, Steam, Discord, and most Electron apps — use the StatusNotifierItem (SNI) protocol to put icons in a system tray. GNOME dropped native tray support years ago. This extension restores it, rendering SNI and legacy XEmbed tray icons in the top bar.

Install

gext install [email protected]

On Debian and Ubuntu you can also pull the packaged version:

sudo apt install gnome-shell-extension-appindicator

Notes

  • After enabling, apps already running won't appear until you restart them or log out and back in.
  • The extension settings let you control icon size and left/right padding — useful if your top bar feels cramped.
  • On Wayland, XEmbed legacy icons require xwayland to be present. Most distros include it; check with which Xwayland.

Auto Move Windows — Assign Apps to Workspaces

Auto Move Windows is a first-party GNOME extension (maintained by the GNOME project itself) that routes application windows to specific workspaces the moment they open. Email always on workspace 2, browser on 1, terminal on 3 — it makes a multi-workspace setup automatic rather than manual.

Install

It ships with GNOME but may need to be enabled:

# Enable via gsettings
gnome-extensions enable [email protected]

If it's not present, install through Extension Manager → Browse → search Auto Move Windows.

Configure

Open its preferences. You add rules by clicking the + button, typing the application ID, and choosing a workspace number. To find an application's ID while it is running:

gdbus call --session \
  --dest org.gnome.Shell \
  --object-path /org/gnome/Shell \
  --method org.gnome.Shell.Eval \
  'global.get_window_actors().map(a=>a.meta_window.get_wm_class())'

Output varies but looks like (['Firefox', 'Thunderbird', 'Alacritty'], true). The string you enter in Auto Move Windows must match the WM class exactly, case-sensitive. Common examples: Firefox, thunderbird, Slack, code.

Enable Fixed workspaces in GNOME Settings → Multitasking → Fixed number of workspaces to prevent workspaces from being destroyed when empty, which can shift your numbering.

Verification

After installing all four extensions, confirm they are active:

gnome-extensions list --enabled

You should see all four extension UUIDs in the output. If one is missing, check Extension Manager → Installed for an error badge — usually a GNOME Shell version mismatch or a missing dependency.

To check for runtime errors from any extension:

journalctl /usr/bin/gnome-shell -f --since "5 minutes ago"

Troubleshooting

Extension shows as "Error" in Extension Manager

The most common cause is a GNOME Shell version not listed in the extension's metadata. Check the extension's supported versions on extensions.gnome.org. You can temporarily override the check (not recommended for production systems) by setting:

gsettings set org.gnome.shell disable-extension-version-validation true

Tray icons (AppIndicator) not appearing after enable

Restart the affected application. If icons still don't appear, restart GNOME Shell. On X11: press Alt+F2, type r, press Enter. On Wayland you must log out and back in — there is no in-session restart.

Auto Move Windows ignores an app

The WM class lookup above shows the class at runtime. Some apps (notably Electron apps) use a different class than their binary name. Run the gdbus command above with the app open and copy the exact string shown.

Tactile overlay doesn't appear

Another keybinding is likely stealing Super+T. Open Settings → Keyboard → View and Customize Shortcuts and search for conflicts, then change Tactile's trigger key in its own settings.

tested on:Ubuntu 24.04Fedora 40Arch rollingDebian 12

Frequently asked questions

Do these extensions work on Wayland?
Yes. All four extensions work under Wayland. The only caveat is AppIndicator's XEmbed legacy icon support, which requires Xwayland to be installed — it is present by default on most mainstream distros.
Can I use Tactile alongside GNOME's built-in quarter-tiling?
Yes. Tactile uses its own trigger key and doesn't conflict with GNOME 45+ edge-drag tiling. You can use both side by side.
Will Just Perfection survive a GNOME Shell update?
The extension is actively maintained and usually updates within days of a new GNOME release. If it breaks after an OS update, check Extension Manager for an update or temporarily disable it until a new version is released.
How do I find the correct WM class for an Electron app like VS Code?
Run the gdbus eval command shown in the Auto Move Windows section while the app is open. Electron apps often use 'code', 'slack', or 'discord' in lowercase — always verify rather than guessing.
Is the gext command always available, or do I need to install something?
The gext CLI is part of the gnome-extensions-cli package, available on most distros or via pip. Extension Manager is the easier GUI alternative and doesn't require gext at all.

Related guides