group.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef KWIN_GROUP_H
00013 #define KWIN_GROUP_H
00014
00015 #include "utils.h"
00016 #include <X11/X.h>
00017 #include <netwm.h>
00018
00019 namespace KWinInternal
00020 {
00021
00022 class Client;
00023 class Workspace;
00024
00025 class Group
00026 {
00027 public:
00028 Group( Window leader, Workspace* workspace );
00029 ~Group();
00030 Window leader() const;
00031 const Client* leaderClient() const;
00032 Client* leaderClient();
00033 const ClientList& members() const;
00034 QPixmap icon() const;
00035 QPixmap miniIcon() const;
00036 void addMember( Client* member );
00037 void removeMember( Client* member );
00038 void gotLeader( Client* leader );
00039 void lostLeader();
00040 Workspace* workspace();
00041 bool groupEvent( XEvent* e );
00042 void updateUserTime( Time time = CurrentTime );
00043 Time userTime() const;
00044 private:
00045 void getIcons();
00046 void startupIdChanged();
00047 ClientList _members;
00048 Client* leader_client;
00049 Window leader_wid;
00050 Workspace* _workspace;
00051 NETWinInfo* leader_info;
00052 Time user_time;
00053 };
00054
00055 inline Window Group::leader() const
00056 {
00057 return leader_wid;
00058 }
00059
00060 inline const Client* Group::leaderClient() const
00061 {
00062 return leader_client;
00063 }
00064
00065 inline Client* Group::leaderClient()
00066 {
00067 return leader_client;
00068 }
00069
00070 inline const ClientList& Group::members() const
00071 {
00072 return _members;
00073 }
00074
00075 inline Workspace* Group::workspace()
00076 {
00077 return _workspace;
00078 }
00079
00080 inline Time Group::userTime() const
00081 {
00082 return user_time;
00083 }
00084
00085 }
00086
00087 #endif
This file is part of the documentation for kwin Library Version 3.2.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Mar 5 04:41:13 2004 by
doxygen 1.3.6-20040222 written by
Dimitri van Heesch, © 1997-2003