Ejemplo n.º 1
0
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;
  }
}
Ejemplo n.º 2
0
RazorTray::~RazorTray()
{
    stopTray();
}
Ejemplo n.º 3
0
LXQtTray::~LXQtTray()
{
    stopTray();
}