#1152992 openvpn3-indicator: tray-host Depends pulls in GNOME Shell on Cinnamon/Xfce/LXQt

#1152992#5
Date:
2026-11-04 07:34:08 UTC
From:
To:
Dear Maintainer,

since 0.0~git20260107.d464ef5-3 the package has

  Depends: gnome-shell-extension-appindicator | libkf6statusnotifieritem6

On a desktop that is neither GNOME nor Plasma, apt satisfies this with the
first alternative. Installing the indicator on Cinnamon therefore pulls in
gnome-shell, mutter and their libraries, none of which the desktop uses. The
only way around it is to install libkf6statusnotifieritem6 instead, which
pulls in about 15 Qt6/KF6 packages that are just as unused.

Problems with the current relationship:

 1. Several desktops can display the indicator but don't satisfy the Depends:
    Cinnamon (xapp-sn-watcher), Xfce (the xfce4-panel systray plugin hosts
    StatusNotifierItems; checked in 4.20.4), LXQt (the lxqt-panel
    statusnotifier plugin) and Ayatana setups (ayatana-indicator-application).

 2. libkf6statusnotifieritem6 is the KStatusNotifierItem client library that
    applications use to publish tray items. It does not host them. On Plasma
    the watcher/host is plasma-workspace
    (qt6/plugins/kf6/kded/statusnotifierwatcher.so). The alternative works on
    Plasma only because the library is usually installed there already.

 3. Upstream's own packaging (the PPA control template
    .launchpad/openvpn3-indicator.control.py and the Copr spec
    .copr/openvpn3-indicator.spec.py) declares the tray host as a Recommends:
    gnome-shell-extension-appindicator | ayatana-indicator-application |
    xapp-sn-watcher | xfce4-statusnotifier-plugin. The last of these isn't in
    Debian; xfce4-panel's systray plugin covers it.

The attached patch moves the tray host to Recommends, with alternatives for
GNOME, Plasma, Cinnamon/MATE (xapp), Xfce, LXQt and Ayatana.
gnome-shell-extension-appindicator stays first, so a GNOME system without a
host still gets it by default. I understand -3 made the host a hard
dependency so that GNOME users don't end up with an invisible indicator
(upstream issue #21). If you'd rather keep it in Depends, using the same
alternative list there would still fix the other desktops.

The trixie-fastforward-backports build (1.0.1-1~ffwd13+u1) has the same
Depends.

Testing: I rebuilt 1.0.1-1 on trixie with this change. I used debhelper
compat 13 because trixie's debhelper has no compat 14; apart from the
timestamps inside the zipapp, the payload was byte-identical to the archive
build. On Cinnamon 6.4.10 (xapp-sn-watcher 2.8.8-1) the install pulls in only
gir1.2-ayatanaappindicator3-0.1, python3-secretstorage and python3-jeepney.
The indicator has been in daily use since 2026-10-28, including SAML web
authentication against an OpenVPN Access Server.

Thanks for packaging this!