[Interest] Qt systray icon fails to load, causing X to blink and spam error

Frank Shin frankshin82 at gmail.com
Thu Mar 20 23:37:29 CET 2014


Hi, this is my first post here and it is in regards to a qt5 base app that
is a gui for connman internet manager. The author released this software on
his github below
 <https://github.com/andrew-bibb/cmst> https://github.com/andrew-bibb/cmst

I am hoping to help the author by asking this forum and hopefully someone
can give a lead on where to look.

When running the app ./cmst an error message saying QXcbWindow: Unhandled
client message: "_NET_SYSTEM_TRAY_S0" 
Video of this error can be found
<http://frankshin.com/files/videos/cmst1.mkv>
http://frankshin.com/files/videos/cmst1.mkv

If I run the app with the "-d" flag which disables the systray icon from
showing, the app works fine and displays the Qt window.

The author responded with "That information did help. I don't know for sure,
but I have a theory. For QT the system tray implementation for X11 must be
freedesktop.org compliant. I've looked at the freedesktop specification and
they define the following hints: _NET_WM_NAME, WM_CLASS, _NET_WM_ICON,
_NET_SYSTEM_TRAY_ORIENTATION.


I then went to suckless.org site to see if they state anywhere that their
tray is freedesktop.org compliant. Didn't find an answer to that one way or
the other, but I did look at the code for their system tray and on line 459
found this hint: _NET_SYSTEM_TRAY_S0. My theory is that the system tray may
not be strictly freedesktop.org compliant, or perhaps it expands upon the
basic compliance and QT can't handle the expansion.


I have revised the sources to check for a systemtray before we try to access
it. I want to temporarily remove the tray from my system so I can test the
new pieces. Once I've tested it it will be part of the package I'm planning
to put out this weekend (actually on github now, but as I said, untested).
I'm hoping that will let us work around the problem, but if QT recognizes
the suckless.org tray, thereby passing my check, but chokes trying to put an
icon there I may have to fall back to another commandline switch that will
force the program to not use a systemtray."

 

This issue seems to only happen to me as the rest of the users of this app
are running a DE. I am running only DWM as my WM and my github for DWM is at
<https://github.com/frank604/dwm> https://github.com/frank604/dwm

Other systray icons do work for me. Simplescreenrecorder, steam, clipit,
dropbox, and caffeine.

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140320/4c61aa5f/attachment.html>


More information about the Interest mailing list