Although I finally made the systray plugin work, I found a severe issue last night. Due to a regression bug in Qt5, the NETWM Dock type is not set on the panel. https://bugreports.qt-project.org/browse/QTBUG-39887 So the panel will be hidden when the user try to minimize all windows; e.g. it's treated like a normal window by the WM. To workaround this, I called X11 directly to set the NETWM dock type to the panel and it works. I believe that the workaround is correct since I did it the same way as QWidget::setAttribute in Qt 4.8. However, with this fix, tray plugin stop working and the XEMBED parts now causes tons of BadMatch errors. I could not find the exact cause of the BadMatch errors and haven't found any workaround yet. The current code in the qt5 branch does not crash because the NETWM dock type implementation is incorrect. I did it after show(), but actually it can only be done before the window is created so this fix has no effect. That's why it did not cause a BadMatch. If I move it before show(), which is actually the correct behaviour, tray plugin stop working again. Seems that there are some unknown problems in the new XCB implementation of Qt5 and it works some what differently from Qt 4.8. So the same code which work perfectly in 4.8 stop working in Qt5. This is unfortunate. We have two options. 1. Drop tray plugin, and replace it with the new icon notifier spec. 2. Re-create a new tray plugin that works with qt5. Option 1 is not a panacea, either since in the new icon notifier spec, sometimes we still need to fallback to the traditional systray. Of course, we can omit the support for this part.
Cheers! ------------------------------------------------------------------------------ Open source business process management suite built on Java and Eclipse Turn processes into business applications with Bonita BPM Community Edition Quickly connect people, data, and systems into organized workflows Winner of BOSSIE, CODIE, OW2 and Gartner awards http://p.sf.net/sfu/Bonitasoft _______________________________________________ Lxde-list mailing list Lxde-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxde-list