I just noticed klipper (the executable, not the applet) does not inherit ksystemtray. It does everything by hand. And it does *not* call QXEmbed::initialize() !!!! Refs: See kdebase/klipper/main.cpp and kdebase/klipper/toplevel.{h,cpp} Compare with kdelibs/kdeui/ksystemtray.cpp. I found this because I was toying with reparenting detection in qxembed client (post 3.2) My testcase was klipper. Of course it did not work. - L.