KWin
Loading...
Searching...
No Matches
group.h
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: 1999, 2000 Matthias Ettrich <ettrich@kde.org>
6 SPDX-FileCopyrightText: 2003 Lubos Lunak <l.lunak@kde.org>
7
8 SPDX-License-Identifier: GPL-2.0-or-later
9*/
10
11#pragma once
12
13#include "utils/common.h"
14#include <netwm.h>
15
16namespace KWin
17{
18
19class EffectWindowGroup;
20class X11Window;
21
22class Group
23{
24public:
25 Group(xcb_window_t leader);
27 xcb_window_t leader() const;
28 const X11Window *leaderClient() const;
30 const QList<X11Window *> &members() const;
31 QIcon icon() const;
32 void addMember(X11Window *member);
33 void removeMember(X11Window *member);
35 void lostLeader();
36 void updateUserTime(xcb_timestamp_t time);
37 xcb_timestamp_t userTime() const;
38 void ref();
39 void deref();
41
42private:
43 void startupIdChanged();
44 QList<X11Window *> _members;
45 X11Window *leader_client;
46 xcb_window_t leader_wid;
47 std::unique_ptr<NETWinInfo> leader_info;
48 xcb_timestamp_t user_time;
49 int refcount;
50 std::unique_ptr<EffectWindowGroup> effect_group;
51};
52
53inline xcb_window_t Group::leader() const
54{
55 return leader_wid;
56}
57
58inline const X11Window *Group::leaderClient() const
59{
60 return leader_client;
61}
62
64{
65 return leader_client;
66}
67
68inline const QList<X11Window *> &Group::members() const
69{
70 return _members;
71}
72
73inline xcb_timestamp_t Group::userTime() const
74{
75 return user_time;
76}
77
79{
80 return effect_group.get();
81}
82
83} // namespace
void ref()
Definition group.cpp:90
xcb_timestamp_t userTime() const
Definition group.h:73
Group(xcb_window_t leader)
Definition group.cpp:26
EffectWindowGroup * effectGroup()
Definition group.h:78
void updateUserTime(xcb_timestamp_t time)
xcb_window_t leader() const
Definition group.h:53
void lostLeader()
Definition group.cpp:109
void addMember(X11Window *member)
Definition group.cpp:67
void deref()
Definition group.cpp:95
void gotLeader(X11Window *leader)
Definition group.cpp:103
const QList< X11Window * > & members() const
Definition group.h:68
const X11Window * leaderClient() const
Definition group.h:58
QIcon icon() const
Definition group.cpp:44
void removeMember(X11Window *member)
Definition group.cpp:74