Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-95432

StatusNotifierItem icons don't always work inside pid namespace

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2: Important
    • 6.0.4
    • 5.15.2
    • QPA: X11/XCB

    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.

      Attachments

        Activity

          People

            ilya-fedin Ilya Fedin
            kurnevsky Evgeny Kurnevsky
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: