Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
5.15.2
Description
When SNI icon is registered qt creates dbus object in a form `org.kde.StatusNotifierItem-x-y` where x is process id. But process id is not unique if pid namespaces are used. And when 2 processes have same pid one of them won't have a sni icon. It will throw the following error: https://github.com/qt/qtbase/blob/92f8043759dc97191a1208ed60d46ef44ce96c52/src/gui/platform/unix/dbusmenu/qdbusmenuconnection.cpp#L119
Other SNI implementations use unique dbus name, like `org.freedesktop.network-manager-applet` or `org.mpris.MediaPlayer2.DeaDBeeF` or just a dbus id which is unique across namespaces like `:1.24`. Even though it's not compliant to the spec it works fine.
> Please provide a complete, minimal example with enough information about how to reproduce your issue
For instance, execute 2 different apps that should have icons (e.g. qtox and qbittorrent) with the following bubblewrap commands:
bwrap --bind / / --dev-bind /dev /dev --proc /proc --unshare-pid --as-pid-1 app1
bwrap --bind / / --dev-bind /dev /dev --proc /proc --unshare-pid --as-pid-1 app2
One of them won't have icon.
> And which linux distribution, window manager are you using? Thanks.
Doesn't matter. Can be KDE on some modern linux distribution.