Keepassxc: No App Icon or Tray Icon in elementary Loki

Created on 24 Jan 2017  Â·  28Comments  Â·  Source: keepassxreboot/keepassxc

As stated.

I'm using the appimage version, and selected "yes" for the option to create a desktop entry I think it was. Also, I used menulibre to give that an icon as a temporary fix. However, I don't know how to fix the empty tray icon that appears. I added a screenshot for this.

screenshot from 2017-01-24 13 27 30

I'm on elementary Loki which is based on ubuntu 16.04

bug distribution

Most helpful comment

More test results, everything on the some up-to-date Debian stretch RC2 vm:
LXQt: some missing icon problems out of the box, but not only for keepassxc. Works after installing LXDE and KDE plasma, so I'm blaming missing dependencies. Might test this again after a rollback.
LXDE: everything works out of the box.
KDE plasma: everything works out of the box.
MATE: everything works out of the box.
Cinnamon: everything works out of the box.
gnome: despite pulling in a metric ton of random garbage, it's missing a tray. I'm trying to keep my sanity, so…

The lazy solution could be "you're holding using it the wrong versions!", but that depends on your opinions. imho, creating a lot of possibly complex workarounds for a solved bug in third-party libraries isn't worth the effort. I guess the fixed versions will get distributed within this year, so this issue might disappear on its own.

All 28 comments

That's a weird bug I noticed, too. This must be some AppImage error. You can fix it by copying this icon https://raw.githubusercontent.com/keepassxreboot/keepassxc/develop/share/icons/application/256x256/apps/keepassxc.png to ~/.local/share/pixmaps/appimagekit-keepassxc.png

System: KDE neon 5.8 (Ubuntu 16.04)
Version: 2.1.0 (AppImage)

The tray-icon is working, but the application-menu icon is missing here.

wget https://raw.githubusercontent.com/keepassxreboot/keepassxc/develop/share/icons/application/256x256/apps/keepassxc.png -O ./.local/share/icons/appimagekit-keepassxc.png
fixed the issue.

Similar issue for me on Debian 8.7 with XFCE 4.10 - the menu entry has an icon, but the tray icon is an empty space instead of the icon.

Version: 2.1.0 (release, 8a3ac7a)

@cobra do you used the AppImage ?

No, I built it myself following the hints in the wiki pages.

Have you run the make install command?
This seems little strange

yes, of course. make finished all tasks without errors, and starting keepassxc from a terminal doesn't log anything.

Can you verify that this file exists on you system? /usr/share/keepassxc/icons/application/24x24/apps/keepassxc-locked.png

$ ls /usr/share/keepassxc/icons/application/24x24/apps/keepassxc-locked.png /usr/share/keepassxc/icons/application/24x24/apps/keepassxc-locked.png
yep.

btw, slightly OT: the AppImage you provide won't even run on Debian stable, it's expecting GLIBCXX_3.4.21 (via libproxy.so.1), but the latest version provided by Debian 8.7 is GLIBCXX_3.4.20.
But when I build an AppImage myself and run that, the tray icon is still missing. The rest (window icon, button icons) is working.

The AppImage was built on Ubuntu 16.04. 2.1.1 will ship an AppImage built on 14.04, so those problems should be gone.

Is it possible that the AppImage is trying to use the GTK2 platform theme? I had trouble with that as well when I tried to adjust the look and feel. Using the GTK2 theme, it integrates better visually, but has certain issues, one of them being a missing tray icon.

Could you try running the AppImage like this?

QT_QPA_PLATFORMTHEME=qtcurve ./KeePassXC-2.1.0-x86_64.AppImage

Nope, nothing changes. I tried running both the AppImage and normal version with and without various qtcurve packages installed and neither the locked, nor the unlocked icon show up (I unlocked a database each time).
After googling around for a bit, I suspect this might be a problem with qt itself - there are quite a few very similar bug reports for other projects. Might be fixed in newer qt versions and related to qt-sni. Maybe I'll spin up some vms to test that.

You may also try building an AppImage yourself with the latest changes from the meta/release-preparation branch.

Check out the branch, create a new tag with git tag myversion and then run

./release-tool build -n -v myversion

did that, still broken. Haven't done any vm testing yet, anything else I could test?

btw: AppImage-Recipe.sh:67 should be changed to /bin/bash, /usr/bin/env bash or something else, as /usr/bin/bash doesn't exist everywhere.

I haven't yet seen a system where bash is not in /bin/bash, but I'll change it.

For further debugging of your problem: is there anything suspicious in your system log (journalctl) or in ~/.xsession-errors?

The other way round, /bin/, not /usr/bin/. Debian has bash only in /bin/, ubuntu seems to be the same.

No errors in the logs.

It's always in /bin. /usr/bin was a typo in the script. Using /usr/bin/env is usually not necessary for bash, but I changed it anyway.

I'm starting to run out of ideas. Need to test it on an Ubuntu machine. I hope we don't need to ship libsni-qt (which is Qt4 only anyway?).

Oh, one more idea: do you happen to use appmenu-qt5?

I was able to reproduce the issue on Ubuntu. It isn't tied to appmenu-qt5, but is somehow a bug in the interaction between the AppImage AppRun binary and Ubuntu Unity. I'll investigate.

I think we might be running into this Qt issue and I'm unfortunately not quite sure about what we can do about it except for compiling our own Qt version: https://bugreports.qt.io/browse/QTBUG-31762 😞
I rebuilt the AppImage a couple of times inside our Ubuntu 14.04 Docker container. The tray icon does show up now, but in the upper left corner of the screen instead of inside the tray area.
The alternative would be to build on a very recent Ubuntu, but then the AppImage won't run on many systems.

Maybe with a bit more digging, I can manage to get the DBus communication to work properly, but I can't promise anything for 2.1.1.

That sounds awful.
Anyway, I've built keepassxc manually on a fresh Debian Stretch RC2 vm and the tray icon works perfectly, including the locking indicator; both from the build directory and from the install location.
Versions: keepassxc develop branch, HEAD is 0091cb3; xfce 4.12.1, qt 5.7.1
The current official AppImage (2.1.0) is also working.
Using release-tool from the meta/release-preparation branch: both the AppImage and the binary in release/bin-release are working.

I'll test some other DEs in a bit.

It depends on the Qt version you're using, I guess. When you unpack the 2.1.0 AppImage, it also works on Ubuntu, but when you run it through the AppRun binary within the AppImage, it doesn't. My suspicion is also that we are generally having some DBus problems. The global application menu also doesn't work reliably.

More test results, everything on the some up-to-date Debian stretch RC2 vm:
LXQt: some missing icon problems out of the box, but not only for keepassxc. Works after installing LXDE and KDE plasma, so I'm blaming missing dependencies. Might test this again after a rollback.
LXDE: everything works out of the box.
KDE plasma: everything works out of the box.
MATE: everything works out of the box.
Cinnamon: everything works out of the box.
gnome: despite pulling in a metric ton of random garbage, it's missing a tray. I'm trying to keep my sanity, so…

The lazy solution could be "you're holding using it the wrong versions!", but that depends on your opinions. imho, creating a lot of possibly complex workarounds for a solved bug in third-party libraries isn't worth the effort. I guess the fixed versions will get distributed within this year, so this issue might disappear on its own.

Well, that's interesting: enabling display compositing for xfwm4 (in menu→settings→window manager tweaks→compositor) fixes the missing icon on my real system. wtf.

Hey @cobra Thank you very much for your investigation. Unfortunately, I haven't had the time yet to dig any further here. I'll let you know when I found something out.

I have to postpone this issue to the next release. Unfortunately, we won't find a solution anymore in time.

Using Ubuntu 16.10 and "installed " KeePassXC-2.1.1-x86_64.AppImage
Icons not showing in tray but the app icons shows as expected in the unity dash/taskbar.
Manually downloading the following files to the indicated path makes icons work as expected:
/keepassxc-develop/share/icons/application/256x256/apps/
to
~/.local/share/icons/apps/keepassxc.png
~/.local/share/icons/keepassxc-dark.png
~/.local/share/icons/keepassxc-locked.png

I used the 256 since using the 24px ones would give me low quality icon in the dash/taskbar

I finally managed to fix this issue. It appears that Qt resolves icons also in the program's working directory, but Unity doesn't. So when Qt found the icon there, it passes it on to the tray which tries to resolve the path again, but can't find it. I fixed it by enforcing absolute icon paths for tray icons.

Was this page helpful?
0 / 5 - 0 ratings