Plasma-workspace

xwindowsystemeventbatcher.h
1/*
2 SPDX-FileCopyrightText: 2017 David Edmundson <davidedmundson@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#pragma once
8
9#include <QObject>
10
11#include <KWindowSystem>
12#include <QHash>
13#include <netwm_def.h>
14
15/*
16 * Relay class for KWindowSystem events that batches updates
17 */
18class XWindowSystemEventBatcher : public QObject
19{
21public:
22 XWindowSystemEventBatcher(QObject *parent);
24 void windowAdded(WId window);
25 void windowRemoved(WId window);
26 void windowChanged(WId window, NET::Properties properties, NET::Properties2 properties2);
27
28protected:
29 void timerEvent(QTimerEvent *event) override;
30
31private:
32 struct AllProps {
33 NET::Properties properties = {};
34 NET::Properties2 properties2 = {};
35 };
37 int m_timerId = 0;
38};
Q_OBJECTQ_OBJECT
Q_SIGNALSQ_SIGNALS
virtual bool event(QEvent *e)
QObject * parent() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:17:42 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.