QxtGlobalShortcutPrivate::~QxtGlobalShortcutPrivate() { #ifndef Q_WS_MAC --ref; if (ref == 0) { QAbstractEventDispatcher *ed = QAbstractEventDispatcher::instance(); if (ed != 0) { # if QT_VERSION < QT_VERSION_CHECK(5,0,0) ed->setEventFilter(prevEventFilter); # else ed->removeNativeEventFilter(this); # endif } } #endif // Q_WS_MAC }
WorkspacesInfo::WorkspacesInfo(QObject *parent) : QObject(parent), m_count(0), m_current(0), m_rows(0), m_columns(0), m_orientation(OrientationHorizontal), m_startingCorner(CornerTopLeft) { WorkspacesInfo::internX11Atoms(); /* Setup an low-level event filter so that we can get X11 events directly, then ask X11 to notify us of property changes on the root window. This will include notiication on workspace geometry changes. */ QAbstractEventDispatcher *dispatcher = QAbstractEventDispatcher::instance(); oldEventFilter = dispatcher->setEventFilter(WorkspacesInfo::globalEventFilter); XSelectInput(QX11Info::display(), QX11Info::appRootWindow(), PropertyChangeMask); updateWorkspaceGeometry(); updateCurrentWorkspace(); }