void RazorTray::x11EventFilter(XEvent* event) { TrayIcon* icon; switch(event->type) { case ClientMessage: if(event->xany.window == mTrayId) clientMessageEvent(&(event->xclient)); break; // case ConfigureNotify: // icon = findIcon(event->xconfigure.window); // if (icon) // icon->configureEvent(&(event->xconfigure)); // break; case SelectionClear: stopTray(); break; case DestroyNotify: icon = findIcon(event->xany.window); if(icon) { mIcons.removeAll(icon); delete icon; } break; default: if(event->type == mDamageEvent + XDamageNotify) { XDamageNotifyEvent* dmg = reinterpret_cast<XDamageNotifyEvent*>(event); icon = findIcon(dmg->drawable); if(icon) icon->update(); } break; } }
RazorTray::~RazorTray() { stopTray(); }
LXQtTray::~LXQtTray() { stopTray(); }