No description
Find a file
2025-10-20 00:47:19 +02:00
.github/workflows ci: Do not require eslint on upload job and ignore errors on upload check 2025-09-18 03:51:31 +02:00
icons/hicolor/scalable/actions prefs: Modernize settings dialog 2025-05-06 22:26:14 +02:00
indicator-test-tool eslint: Sync with current upstream gjs and shell rules 2023-08-17 05:26:30 +03:00
interfaces-xml interfaces-xml: Comment out the signal definitions 2023-03-10 01:03:12 +01:00
lint eslint: Sync with current upstream gjs and shell rules 2023-08-17 05:26:30 +03:00
locale Update it.po 2025-10-20 00:47:19 +02:00
preferences prefs: Modernize settings dialog 2025-05-06 22:26:14 +02:00
schemas trayIconsManger: Add an option to disable legacy tray icons 2023-03-07 02:34:00 +01:00
.eslintrc.yml eslint: Catch all the js files around 2025-05-06 22:26:14 +02:00
.gitignore Add icon opacity, size, position and other effects settings 2021-06-07 17:24:51 +02:00
appIndicator.js appIndicator: Simplify the image content bytes check 2025-05-06 20:40:05 +02:00
AUTHORS.md Use AUTHORS.md file instead of Copyright lines 2017-10-11 14:59:50 +02:00
dbusMenu.js Add extra debug info 2024-08-05 21:26:59 +02:00
dbusProxy.js extension: Remove various version-dependent checks 2023-08-17 05:26:30 +03:00
extension.js Fix lazy copy-and-paste 2024-04-18 21:18:37 +02:00
iconCache.js iconCache: Gio.Icon.equal(), not .equals() 2024-04-18 19:58:38 +02:00
indicatorStatusIcon.js Replace add_actor and remove_actor 2024-04-18 21:19:39 +02:00
interfaces.js eslint: Sync with current upstream gjs and shell rules 2023-08-17 05:26:30 +03:00
LICENSE Create LICENSE 2019-09-02 17:46:11 +02:00
meson.build Release v61 2025-09-18 03:46:26 +02:00
meson_options.txt build: Use meson to configure, test and install the extension 2021-06-15 01:26:56 +02:00
metadata.json Fix inconsistent indentation 2025-10-20 00:46:24 +02:00
pixmapsUtils.js eslint: Sync with current upstream gjs and shell rules 2023-08-17 05:26:30 +03:00
prefs.js prefs: Modernize settings dialog 2025-05-06 22:26:14 +02:00
promiseUtils.js cleanup: Use Signals.EventEmitter instead of changing the prototypes 2023-08-17 05:26:30 +03:00
README.md build: Use meson to configure, test and install the extension 2021-06-15 01:26:56 +02:00
settingsManager.js settingsManager: Avoid using run_dispose() manually 2023-08-18 01:03:03 +02:00
statusNotifierWatcher.js statusNotifierWatcher: Fix disabling errors 2023-08-18 01:20:31 +02:00
trayIconsManager.js trayIconsManager: Remove workaround on screen unmanaging 2024-08-05 22:46:11 +02:00
util.js Fix eslint 2024-04-18 21:19:39 +02:00

AppIndicator/KStatusNotifierItem support for GNOME Shell

This extension integrates Ubuntu AppIndicators and KStatusNotifierItems (KDE's blessed successor of the systray) into GNOME Shell. Including support for legacy tray icons.

Features

  • Show indicator icons in the panel.
  • Reveal indicator menus upon click.
  • Double clicking an icon will activate the application window (if implemented by the indicator).
  • Legacy tray icons
  • Middle mouse click an icon to send a 'SecondaryActivate' event to the application. Support needs to be implemented in the application. Info 1, Info 2.

Missing features

  • Tooltips: Not implemented in libappindicator nor in Unity and I've yet to see any indicator using it for anything relevant (KDE ones maybe?). Also, the GNOME designers decided not to have tooltips in the shell and I'd like to honor that decision.

Known issues

  • ClassicMenu Indicator takes ages to load and has been reported to freeze the shell forever. This is probably caused by the insane amount of embedded PNG icons. Try at your own risk.

Installation

Normal users are recommended to get the extension from extensions.gnome.org.

Alternatively, you can check out a version from git, compile the language files, and symlink ~/.local/share/gnome-shell/extensions/appindicatorsupport@rgcjonas.gmail.com to your clone:

git clone https://github.com/ubuntu/gnome-shell-extension-appindicator.git
meson gnome-shell-extension-appindicator /tmp/g-s-appindicators-build
ninja -C /tmp/g-s-appindicators-build install
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.com

Under X11, you may need to restart GNOME Shell (Alt+F2, r, ) after that. Under Wayland you need to logout and login again.

Applications dependencies

Many applications support indicators via libappindicator, (that is quite often dynamically loaded, as it happens in Electron apps), so without having this library installed in your system no icon will be shown.

Guidelines for bug reports

Unfortunately, this extension is not completely bug free and will probably never be. In order to successfully resolve remaining issues, you need to provide some data:

  • Your distribution, Shell version and extension version (something like "latest git" or "latest from extensions.gnome.org" is sufficient).
  • The indicator that caused the bug (if applicable).
  • Instructions how to reproduce it. This is the single most important point. Bugs which cannot be reproduced cannot be fixed.

Bug reports which do not provide the necessary information may be closed as "invalid" without prior notice.

Release process

This section serves as reminder for the current maintainer and as instruction set for an eventual sucessor.

  • The maintainer decides when to release a new version.
  • Versions are tagged (and signed). Version numbers sould be kept in sync with the versions submitted to extensions.gnome.org. This implies that version numbers are integers which will be incremented with each release.
  • The maintainer will tag a new version, update the meson version and generate a zip file using ninja -C <build-dir> zip-file.
  • The zip file will be tested to ensure that nothing was missed when packaging it.
  • Only if it passed, it is uploaded to extensions.gnome.org and the tag is pushed.

This release process has been in place since v41.