Skip to content

System Tray on Linux

Davo edited this page Jun 21, 2023 · 57 revisions

The normal way that a user interacts with tomboy-ng is via a small yellow icon that appears on the System Tray, sometimes called the notification area. However, not all Linux Desktop Environments are able to display System Tray Icons, and some that can may not do so by default.

TrayIcon

If you can see a small, yellow icon, possibly upper right of your screen, you don't have a problem, well done in choosing a user focused Desktop. If you cannot see it, you are probably using a Desktop that may not display the System Tray, possibly a Gnome Desktop. Firstly, see if your particular Desktop just needs to configured to display a SysTray, failing that, read on.

Index

Gnome Desktops

Firstly, Gnome Desktops using Wayland can display the SysTray Icon, they just need the Gnome plugin, gnome-shell-extension-appindicator, installed and enabled and in the case of GTK2 version, the appropriate libappindicator library (either libappindicator3-1 or libayatana-appindicator3-1 will work but versions of tomboy-ng earlier than 0.32g won't know to look for the libayatana one).

As to why the Gnome Developers make System Tray so hard, I don't know! I cannot declare that tomboy-ng depends on these additional packages because they are quite unnecessary in non-gnome desktops and there they pull in a lot of other dependencies. So, if you use a Gnome Desktop you may need to do some manual installs.

Debian Gnome

Debian with any desktop other than the default Gnome does not have any problem displaying a System Tray Icon. But if you use Gnome, sorry, read on.

Debian 11 or Bullseye with Gnome has a serious issue, the version of tomboy-ng in the Bullseye Repository cannot find a necessary library (sadly, early in 2021 Debian renamed their appindicator library just before release !). So please consider upgrading tomboy-ng. https://github.com/tomboy-notes/tomboy-ng . Then follow the gnome-shell-extension-appindicator instruction below.

Debian 12 or Bookworm has tomboy-ng 0.36a, works fine if you just add gnome-shell-extension-appindicator and turn on Gnome Extensions.

In either 11 or 12, you need to manually install gnome-shell-extension-appindicator, with 12 you also have to enable Extensions.

su -c "apt install gnome-shell-extension-appindicator" [enter]

gsettings set org.gnome.shell disable-user-extensions false [enter]

The second line above only applies to Debian 12, Bookworm (I believe) and is because Debian now ships with extensions disabled. You can do the same thing from the GUI using the command "gnome-extensions-app" (which appears in the GUI with the name "gnome-extensions".)

Log out and back in again. When you next start tomboy-ng, it will ask if you want the plugin enabled, answer yes, restart tomboy-ng. Note, you can enable and disable the plugin with the gnome-extensions command and disable all extensions with the gnome-extensions-app command (but why would you ?).

Fedora Gnome

This is know to work on Fedora Gnome 34 and 35. ToDo - test against newer Fedora's that probably have Gnome 43 or 44. Maybe sam problems as above.

Install gnome-shell-extension-appindicator (that will also install libappindicator-gtk3), log out and back in, start tomboy-ng and answer 'yes' when asked about enabling the plugin. Install with this -

su -c "dnf install gnome-shell-extension-appindicator"

Note - you must logout and back in after the above install before you restart tomboy-ng.

Ubuntu Gnome

Is becoming a problem again. Lets be clear, the other desktops on Ubuntu just work.

Ubuntu Gnome has the gnome-shell-extension-appindicator installed and enabled and it uses libappindicator1 (or libayana in 21.10 and beyond) library. However, in U23.04, Luna, Gnome/Wayland has introduced a new bug that leaves the Systray Menu unusable again.

Ubuntu 23.04 Gnome - has tomboy-ng Qt5 0.36b in its repository (taken from Debian without testing), will not work with Gnome-Shell 44. On Gnome it sometimes pops up the System Tray menu on the other side of the screen. Two choices, switch back to XOrg (logout, before entering password to log in again, click the gear symbol, lower right, and choose "Ubuntu on X11") or download and install the 'fixed' version 0.36c from here.

Ubuntu 21.10 Gnome (way past time you upgraded) however does 'something' different, your menu from the TrayIcon pops up in apparently random places. Getting the newest tomboy-ng (v0.34) from here will solves the problem. But the version in the Ubuntu repo can be made work if you run the following commands (but probably easier to use v0.34 from here or the PPA) -

echo "LAZUSEAPPIND=YES" >> ~/.profile

sudo ln -s /usr/lib/x86_64-linux-gnu/libayatana-appindicator3.so.1.0.0 /usr/lib/x86_64-linux-gnu/libappindicator3.so.1

The first line adds an env var your profile so that tomboy-ng knows to use the appindicator model, the second line, run as root, adds a symlink from the libayatana library to the name this library used to be called. Be careful with both commands, a mistake can be messy.

Other Ubuntu Desktops have no problems (and look vastly better, having a range of colour themes and are faster).

Open Suse Gnome

While earlier SUSE needed some care, Leap 15.4 just works "out of the box".

But if your SUSE is a bit older, some notes - Firstly, the QT5 version is the one to use, the GTK2 tomboy-ng has (Wayland) problems. Next, you need to install the same Gnome plugin mentioned above but it does not exist (as far as I can determine) in the SUSE repository. So, you need to install it via your browser from the Gnome Extensions Web Site. When you land, the first time, on that page, you see it tells you you need to install things, firstly, a plugin into your Browser (just a couple of clicks) and, fortunately, the other component, is already installed.

Once the Extensions page is working, you need to find "AppIndicator and KStatusNotifierItem Support", usually appears on the first page. There is a nice On/Off switch top right.

Other Desktops

Occasionally, we see desktops other than Gnome have SysTray problems, almost always resolved by adding in something typically called "Notification Area" to one of your panels.

Debian Bullseye other than Gnome desktops (Mate, XFCe etc) all work well but you might need to add a plugin to the Desktop panel such as "Notification Area", right click the panel and choose "Add to Panel". Most distributions install that plugin by default but recent Bullseye release candidates seem to miss it.

tomboy-ng without a System Tray

If you use a system that does not allow you to have a System Tray, or you prefer not to follow the suggestions above, its possible to use tomboy-ng without a System Tray. Probably only necessary for Gnome Desktop users.

The app is designed to ensure only one instance is running so, if you start a second instance, it will tell the first instance to popup the Search Window, even if the instance is hidden or in another workspace. So, people who use a dock for example, can add tomboy-ng to that dock and use that icon in the dock to call up the possibly hidden instance of tomboy-ng. To add an app to the dock you typically start the app, when its running (and visible) you will see its icon in the dock (maybe click Activities to show the dock), right click it and choose "add to favorites", "add to dock", "pin to dash" or, something similar. Now, a click on that dock icon will either start tomboy-ng or bring its Search Window to the fore.

Still having problems ?

Hmm, starting tomboy-ng from the command line can sometime reveal extra clues about whats wrong. Further, setting an env var will make tomboy-ng a bit more "wordy" -

LAZUSEAPPIND=INFO tomboy-ng [enter]

Posting the output of that to the tomboy-ng issues list will probably help ...

Clone this wiki locally