-
Notifications
You must be signed in to change notification settings - Fork 3
Installation
Better Tray Icons can be installed in three ways: through the GNOME Extensions website with a single click, from a downloaded release archive, or directly from the git source for development. This page walks through each path and covers a few things that come up afterwards, like reloading the shell and uninstalling cleanly.
- GNOME Shell running on Wayland. Check the README for the currently supported version range, since it is updated whenever new GNOME releases are added or dropped. X11 sessions are not supported.
- Permission to install GNOME Shell extensions, which is the default on a regular user account.
Before enabling the extension, disable any other tray or AppIndicator extension on your system. Both would compete for the same DBus names and behave unpredictably side by side. The conflicting UUIDs are listed in the project README.
This is the recommended path for everyday use.
The fastest way is the Extension Manager Flatpak by Matt Jakeman. It bundles browse, install, configure and update into one app and works on every distribution that ships Flatpak, with no browser plugin required.
- Install it from Flathub:
flatpak install flathub com.mattjakeman.ExtensionManager - Open Extension Manager and switch to the Browse tab.
- Search for Better Tray Icons and click Install. The extension is enabled right away.
Updates show up under the Installed tab once a new release is published.
If you prefer not to install another app, the extensions site supports installation directly from the browser. This needs the GNOME Browser Connector add-on plus the matching chrome-gnome-shell or gnome-browser-connector system package. After both are in place, open the Better Tray Icons page and toggle the install switch.
The built-in GNOME Extensions app (gnome-extensions-app) does not browse the website on its own. It is useful for toggling, configuring and uninstalling extensions you already have, but cannot install new ones from extensions.gnome.org directly.
Useful when you want a specific version or you are offline.
- Open the Releases page on GitHub and download the
.zipof the version you want. - Install the archive with
gnome-extensions install:Thegnome-extensions install ~/Downloads/BetterTrayIcons-vX.Y.Z.zip --force--forceflag overwrites an older version of the same UUID if one is already present. - Reload the shell. See Reloading the shell below.
- Enable the extension:
gnome-extensions enable BetterTrayIcons@nexaknight.com
This installs into ~/.local/share/gnome-shell/extensions/BetterTrayIcons@nexaknight.com. The extension is only available to the current user.
For working on the code, translations or documentation.
-
gitto clone the repository. -
glib-compile-schemasfor the GSettings schema. Comes withglib2/libglib2.0-dev-bindepending on the distribution. -
gettextformsgfmt. Already installed on most distributions. -
nodeandnpmfor the project scripts. Only needed if you intend to runnpm testor compile locales.
- Clone the repository directly into the GNOME Shell extensions directory, using the UUID as the folder name:
UUID=BetterTrayIcons@nexaknight.com git clone https://github.com/nexaknight/BetterTrayIcons "$HOME/.local/share/gnome-shell/extensions/$UUID" cd "$HOME/.local/share/gnome-shell/extensions/$UUID" - Compile the GSettings schema:
This produces
glib-compile-schemas schemas/schemas/gschemas.compiled, which GNOME loads at startup. - Install the dev dependencies (only needed once, and only for linting and pre-commit checks):
npm install - Compile the translation files:
This generates
npm run compile-localeslocale/<lang>/LC_MESSAGES/bettertrayicons.mofrom everypo/<lang>.po. - Reload the shell. See Reloading the shell below.
- Enable the extension:
gnome-extensions enable BetterTrayIcons@nexaknight.com
Most code changes take effect after a shell reload. Schema changes require a fresh glib-compile-schemas schemas/ first. Translation changes require npm run compile-locales first.
For shell-side iterations without restarting your full session, a nested GNOME Shell can save a lot of time:
dbus-run-session -- gnome-shell --nested --wayland
The nested shell runs in its own window, picks up your working tree, and can be closed without affecting your main session.
GNOME Shell loads extensions at session start, so changes do not show up until the shell reloads. Pick the method that fits your setup.
- Log out and back in of your GNOME session. This is the supported way on Wayland.
- Nested shell for development, see the previous section.
Pure restart commands like Alt+F2 → r only exist on X11 sessions, which this extension does not target.
After enabling, you should see the toggle button appear in the panel as soon as a tray-using application starts. To confirm GNOME picked up the extension at all:
gnome-extensions info BetterTrayIcons@nexaknight.com
This prints the metadata, the install path and whether the extension is currently active.
To watch the live log output of the shell:
journalctl --user -f -o cat /usr/bin/gnome-shell
Enable Debug Mode on the General tab of the preferences for more verbose output. The Bug Reporting Guidelines explain the full debug workflow.
- Extensions website installs update automatically when a new release is published. The GNOME Extensions app will notify you and offer to apply the update.
-
Release-archive installs need the new archive downloaded and re-installed with
gnome-extensions install ... --force, followed by a shell reload. -
Development installs update by running
git pullin the extension directory, re-compiling schemas and locales as needed, then reloading the shell.
The cleanest way is through the GNOME Extensions app: open it, click the extension, and choose Uninstall. This removes the extension files but keeps your saved settings in dconf, so reinstalling later picks up where you left off.
To also remove the stored settings:
dconf reset -f /org/gnome/shell/extensions/bettertrayicons/
For a development install, simply delete the directory:
rm -rf "$HOME/.local/share/gnome-shell/extensions/BetterTrayIcons@nexaknight.com"
Reload the shell after either path.
- The extension does not appear after install. Make sure the shell has been reloaded and the GNOME version on your machine falls within the supported range (
gnome-shell --version). - The tray button is visible but icons do not show. Check the Applications tab in the preferences. Hidden apps or missing detected icons will be listed there.
- Settings do not stick across reloads. Confirm that
gschemas.compiledexists underschemas/for development installs. The Extensions website install builds it automatically. - Anything else worth a bug report goes through the Bug/Issue Reporting Guidelines, with debug logs from the preferences window attached.