00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
#ifndef __net_wm_p_h
00028
#define __net_wm_p_h
00029
00039 template <
class Z>
class NETRArray {
00040
public:
00045
NETRArray();
00046
00051
~NETRArray();
00052
00058 Z &
operator[](
int);
00059
00064 int size()
const {
return sz; }
00065
00069
void reset();
00070
00071
private:
00072
int sz;
00073
int capacity;
00074 Z *d;
00075 };
00076
00077
00083 struct NETRootInfoPrivate {
00084
00085 Display *display;
00086
NETSize rootSize;
00087 Window root;
00088 Window supportwindow;
00089
const char *name;
00090
int screen;
00091
00092
00093
00094
NETRArray<NETPoint> viewport;
00095
NETRArray<NETRect> workarea;
00096
NETSize geometry;
00097 Window active;
00098 Window *clients, *stacking, *virtual_roots, *kde_system_tray_windows;
00099
NETRArray<const char *> desktop_names;
00100
int number_of_desktops;
00101
int current_desktop;
00102
00103
unsigned long clients_count, stacking_count, virtual_roots_count,
00104 kde_system_tray_windows_count;
00105
00106
unsigned long properties[ 5 ];
00107
unsigned long client_properties[ 5 ];
00108
00109
int ref;
00110 };
00111
00112
00118 struct NETWinInfoPrivate {
00119 Display *display;
00120 Window window, root;
00121 NET::MappingState mapping_state;
00122 Bool mapping_state_dirty;
00123
00124
NETRArray<NETIcon> icons;
00125
int icon_count;
00126
00127
NETRect icon_geom, win_geom;
00128
unsigned long state;
00129
NETExtendedStrut extended_strut;
00130
NETStrut strut;
00131
NETStrut frame_strut;
00132
NETRArray<NET::WindowType> types;
00133
char *name, *visible_name, *icon_name, *visible_icon_name;
00134
int desktop;
00135
int pid;
00136
int handled_icons;
00137 Window kde_system_tray_win_for;
00138 Time user_time;
00139
char* startup_id;
00140 Window transient_for, window_group;
00141
unsigned long allowed_actions;
00142
char* class_class, *class_name, *role, *client_machine;
00143
00144
unsigned long properties[ 2 ];
00145
bool has_net_support;
00146
00147
int ref;
00148 };
00149
00150
00151
#endif // __net_wm_p_h