There are multiple ways how to bring tray icons back.
AppIndicator Support

The way I use and I would recommend to you is the appindicator-support Gnome extension. There are multiple implementations:
KStatusNotifierItem/AppIndicator Support - The default one and the best way for beginners. It may be already preinstalled on some Linux distributions.
appindicatorsupport@rgcjonas.gmail.com.zip - (Outdated for Gnome 40) Patched version of the previous one. It is not distributed in the extensions store so you have to download, extract and place it manually into ~/.local/share/gnome-shell/extensions/
. But it offers a lot of configuration options.
Each of these solutions also offers great integration into gnome-shell as it uses default dropdowns.
TopIcons

Another approach to bring tray icons back is TopIcons family of extensions. It all started with (no longer functional today) TopIcons extension.
TopIconsFix - Fixed version of TopIcons. It doesn't provide configuration and icons are too large to look nice. I don't very recommend this one.
TopIcons Plus - (The one on screenshot) This is a good extension. Provides configuration and icons look nice.
TopIcons Redux - Rewritten fork of TopIcons Plus. It may not work in the newest version of Gnome-shell.
Note: Keep in mind you may not be able to get all your tray icons working with TopIcons extensions.
Additions
Some programs with non-working tray icons can be fixed by changing the environmental variable XDG_CURRENT_DESKTOP
before launching them. Try to change this variable to Unity
or KDE
. Test your program with the following commands:
XDG_CURRENT_DESKTOP=Unity program
XDG_CURRENT_DESKTOP=KDE program
If one of the commands work, you can edit .desktop file of your program in ~/.local/share/applications/
or /usr/share/applications/
to include this environmental variable in Exec=
parameter.
Exec=env XDG_CURRENT_DESKTOP=KDE program
Some users may be looking into a way to customize their tray icons to look united and to match the system icon theme (as on my screenshots above). In that case, take a look at Hardcode-Tray project.