QString KWM::getProperties(Window w){ QString result; QRect rect; int data[13]; int i = 0; int n = 0; data[n++]=desktop(w); rect = geometry(w); data[n++]=rect.x(); data[n++]=rect.y(); data[n++]=rect.width(); data[n++]=rect.height(); rect = geometryRestore(w); data[n++]=rect.x(); data[n++]=rect.y(); data[n++]=rect.width(); data[n++]=rect.height(); data[n++]=isIconified(w)?1:0; data[n++]=isMaximized(w)?maximizeMode(w):0; data[n++]=isSticky(w)?1:0; data[n++]=getDecoration(w); QString s; for (i=0;i<n;i++){ s.setNum(data[i]); result.append(s); if (i<n-1) result.append("+"); } return result; }
void KWM::activate(Window w){ if (desktop(w) != currentDesktop()) switchToDesktop(desktop(w)); if (isIconified(w)) setIconify(w, FALSE); raise(w); activateInternal(w); }
void Task::activateRaiseOrIconify() { if ( !isActive() || isIconified() ) { activate(); } else if ( !isOnTop() ) { raise(); } else { iconify(); } }
QString KWM::titleWithState(Window w){ static Atom a = 0; if (!a) a = XInternAtom(qt_xdisplay(), "KWM_WIN_TITLE", False); QString result; if (!getQStringProperty(w, a, result)){ getQStringProperty(w, XA_WM_NAME, result); } if (isIconified(w)){ result.prepend("("); result.append(")"); } return result; }