Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12.0 RC, 5.12.1
-
None
-
Linux, i3wm
-
-
2947435d8737f9b97a80532864ec2302f6719355 (qt/qtbase/5.12)
Description
When calling show() on a QSystemTrayIcon while the traybar isn't available will hide the tray icon forever. The trayicon won't come up, if there's a traybar started some time later.
Also the description of QSystemTrayIcon says, this should work:
If the system tray is unavailable when a system tray icon is constructed, but becomes available later, QSystemTrayIcon will automatically add an entry for the application in the system tray if the icon is visible.
It started to appear with Qt 5.12. This wasn't the case when using the Qt 5.11 versions.
Steps to reproduce:
- Kill your traybar (however you do it).
- Launch an application, which uses a QSystemTrayIcon
- Start your traybar again.
- The app's icon won't show up.
One workaround: Query the visible property regularly and and call on change hide() and show() in sequence. But this isn't feasible. It requires every application to change and as far as I can see, there's no event available to listen for this .
Related issues:
Attachments
Issue Links
- relates to
-
QTBUG-73777 When a system tray icon is shown at the startup of the desktop then it can end up not responding to mouse events right away
-
- Closed
-
For Gerrit Dashboard: QTBUG-73459 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
252048,4 | QSystemTrayIcon/X11: Create tray icon window when system tray appears | 5.12 | qt/qtbase | Status: MERGED | +2 | 0 |