Pager::Pager(KWMModuleApplication *a, char *name) : QWidget(NULL, "kwmpager") { kwmmapp = a; a->setMainWidget(this); kwmmapp -> connectToKWM(); KWM::setSticky(winId(), true); KWM::setDecoration(winId(), KWM::tinyDecoration | KWM::noFocus); KWM::setWmCommand(winId(), name); KWM::setUnsavedDataHint(winId(), false); int count = KWM::numberOfDesktops(); desktop_font = new QFont(); Desktop *desk; desktops.resize(count); for (int i = 0; i < count; i++) { desk = new Desktop(a, i + 1, this); desktops[i] = desk; } activeDesktop = desktops.at(KWM::currentDesktop() - 1); activeDesktop->activate(true); connect(kwmmapp, SIGNAL(desktopChange(int)) , SLOT(changeDesktop(int))); connect(kwmmapp, SIGNAL(init()), SLOT(initDesktops())); connect(kwmmapp, SIGNAL( desktopNumberChange(int)), SLOT(changeNumber(int))); connect(kwmmapp, SIGNAL( windowAdd(Window)), SLOT(addWindow(Window))); connect(kwmmapp, SIGNAL( windowRemove(Window)), SLOT(removeWindow(Window))); connect(kwmmapp, SIGNAL( windowChange(Window)), SLOT(windowChange(Window))); connect(kwmmapp, SIGNAL( windowRaise(Window)), SLOT(raiseWindow(Window))); connect(kwmmapp, SIGNAL( windowLower(Window)), SLOT(lowerWindow(Window))); connect(kwmmapp, SIGNAL( windowActivate(Window)), SLOT(windowActivate(Window))); connect(kwmmapp, SIGNAL( commandReceived(QString)), SLOT(receiveCommand(QString))); moved = false; readSettings(); initDesktops(); show(); placeIt(); }
void WindowSystem::handleRequest() { // read request(s) QTcpSocket *connection = qobject_cast<QTcpSocket*>(sender()); QDataStream stream(connection); while (!stream.atEnd()) { qDebug() << "SERVER: reading request"; Request request; stream >> request; // ### FIXME: verify that message type is request switch (request.type) { case Request::CreateWindowRequest: { quint32 id = createWindow(request.id); m_connections.insert(id, connection); Response response(Response::CreatedWindowResponse, id); qDebug() << "SERVER: sending response"; stream << response; break; } case Request::DestroyWindowRequest: destroyWindow(request.id); break; case Request::ShowWindowRequest: showWindow(request.id); break; case Request::HideWindowRequest: hideWindow(request.id); break; case Request::RaiseWindowRequest: raiseWindow(request.id); break; case Request::LowerWindowRequest: lowerWindow(request.id); break; case Request::UpdateWindowRequest: updateWindow(request.id, request.rect); break; case Request::SetWindowGeometryRequest: setWindowGeometry(request.id, request.rect); break; default: qWarning() << "SERVER: unknown request type" << request.type; break; }; } // while (!stream.atEnd()) }