KWin
Loading...
Searching...
No Matches
x11eventfilter.cpp
Go to the documentation of this file.
1/*
2 KWin - the KDE window manager
3 This file is part of the KDE project.
4
5 SPDX-FileCopyrightText: 2014 Fredrik Höglund <fredrik@kde.org>
6
7 SPDX-License-Identifier: GPL-2.0-or-later
8*/
9
10#include "x11eventfilter.h"
11#include "main.h"
12
13namespace KWin
14{
15
16X11EventFilter::X11EventFilter(const QList<int> &eventTypes)
17 : m_eventTypes(eventTypes)
18 , m_extension(0)
19{
20 kwinApp()->registerEventFilter(this);
21}
22
23X11EventFilter::X11EventFilter(int eventType, int opcode, int genericEventType)
24 : X11EventFilter(eventType, opcode, QList<int>{genericEventType})
25{
26}
27
28X11EventFilter::X11EventFilter(int eventType, int opcode, const QList<int> &genericEventTypes)
29 : m_eventTypes(QList<int>{eventType})
30 , m_extension(opcode)
31 , m_genericEventTypes(genericEventTypes)
32{
33 kwinApp()->registerEventFilter(this);
34}
35
37{
38 if (kwinApp()) {
39 kwinApp()->unregisterEventFilter(this);
40 }
41}
42
44{
45 if (m_eventTypes.count() != 1) {
46 return false;
47 }
48 return m_eventTypes.first() == XCB_GE_GENERIC;
49}
50
51}
X11EventFilter(int eventType, int opcode=0, int genericEventType=0)
bool isGenericEvent() const
#define XCB_GE_GENERIC
Definition events.cpp:57