本文整理汇总了C++中AtomList::getAtom方法的典型用法代码示例。如果您正苦于以下问题:C++ AtomList::getAtom方法的具体用法?C++ AtomList::getAtom怎么用?C++ AtomList::getAtom使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AtomList
的用法示例。
在下文中一共展示了AtomList::getAtom方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: processEvent
bool ClientMessageHandler::processEvent(XEvent* event) {
Window windowID = event->xclient.window;
qDebug() << "[+] ClientMessage event 0x" << hex << windowID;
AtomList* al = AtomList::getInstance();
qDebug() << "\tPropiedad a cambiar: " << XGetAtomName(
QX11Info::display(), event->xclient.message_type);
// Si la ventana es un cliente
if(this->wl->existClient(windowID)) {
qDebug() << "\tLa ventana es un cliente";
XWindow* xwindow = this->wl->getXWindowByClientID(windowID);
//----------------------------------------------------------------------
// ICCCM
if(event->xclient.message_type == al->getAtom("WM_CHANGE_STATE")
&& event->xclient.format == 32
&& event->xclient.data.l[0] == IconicState) {
qDebug() << "\tSe solicita minimizar el cliente";
xwindow->setState(IconicState);
return true;
//----------------------------------------------------------------------
// EWMH
} else if(event->xclient.message_type
== al->getAtom("_NET_ACTIVE_WINDOW")) {
EWMHRoot ewmh;
ewmh.receivedActiveWindow(this->wl, xwindow);
} else if(event->xclient.message_type
== al->getAtom("_NET_CLOSE_WINDOW")) {
EWMHRoot ewmh;
ewmh.receivedCloseWindow(xwindow);
}
// TODO Se debería recibir _NET_WM_USER_TIME para poder hacer activas
// las ventanas al clickar en cualquier parte, no solo en el marco,
// pero no se recibe :(
return false;
// Si la ventana es un marco
} else if(wl->existFrame(windowID)) {
qDebug() << "\tLa ventana es un marco";
// XdndLeave
// XdndEnter
// XdndPosition
return false;
// Si no es ni un marco ni un cliente
} else {
qDebug() << "\tLa ventana no es ni un cliente ni un marco";
// _NET_SHOWING_DESKTOP
return false;
}
}