netwm_p.h
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     NETStrut strut, frame_strut;
00130     NETRArray<NET::WindowType> types;
00131     char *name, *visible_name, *icon_name, *visible_icon_name;
00132     int desktop;
00133     int pid;
00134     int handled_icons;
00135     Window kde_system_tray_win_for;
00136     Time user_time;
00137     char* startup_id;
00138     Window transient_for, window_group;
00139     unsigned long allowed_actions;
00140 
00141     unsigned long properties[ 2 ];
00142     bool has_net_support;
00143 
00144     int ref;
00145 };
00146 
00147 
00148 #endif // __net_wm_p_h
 
This file is part of the documentation for kdecore Library Version 3.2.0.