netwm_p.h Source File (kdecore Library)

| # kdecore Library API Documentation
Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Source Files

# netwm_p.h

    00001 /*
    00002
    00003   Copyright (c) 2000 Troll Tech AS
    00004
    00005   Permission is hereby granted, free of charge, to any person obtaining a
    00006   copy of this software and associated documentation files (the "Software"),
    00007   to deal in the Software without restriction, including without limitation
    00008   the rights to use, copy, modify, merge, publish, distribute, sublicense,
    00009   and/or sell copies of the Software, and to permit persons to whom the
    00010   Software is furnished to do so, subject to the following conditions:
    00011
    00012   The above copyright notice and this permission notice shall be included in
    00013   all copies or substantial portions of the Software.
    00014
    00015   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    00016   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    00017   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
    00018   THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    00019   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    00020   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    00021   DEALINGS IN THE SOFTWARE.
    00022
    00023 */
    00024
    00025
    00026 #ifndef   __net_wm_p_h
    00027 #define   __net_wm_p_h
    00028
    00038 template <class Z> class RArray {
    00039 public:
    00044     RArray();
    00045
    00050     ~RArray();
    00051
    00057     Z &operator[](int);
    00058
    00063     int size() const { return sz; }
    00064
    00065 private:
    00066     int sz;
    00067     Z *d;
    00068 };
    00069
    00070
    00076 struct NETRootInfoPrivate {
    00077     // information about the X server
    00078     Display *display;
    00079     NETSize rootSize;
    00080     Window root;
    00081     Window supportwindow;
    00082     const char *name;
    00083     int screen;
    00084
    00085     // data that changes (either by the window manager or by a client)
    00086     // and requires updates
    00087     RArray<NETPoint> viewport;
    00088     RArray<NETRect> workarea;
    00089     NETSize geometry;
    00090     Window active;
    00091     Window *clients, *stacking, *virtual_roots, *kde_system_tray_windows;
    00092     RArray<const char *> desktop_names;
    00093     int number_of_desktops;
    00094     int current_desktop;
    00095
    00096     unsigned long clients_count, stacking_count, virtual_roots_count,
    00097         kde_system_tray_windows_count;
    00098
    00099     // the list of supported protocols shouldn't change, but NET clients will
    00100     // need to read this property to know what is supported...
    00101     unsigned long protocols;
    00102
    00103     int ref;
    00104 };
    00105
    00106
    00112 struct NETWinInfoPrivate {
    00113     Display *display;
    00114     Window window, root;
    00115     NET::MappingState mapping_state;
    00116     Bool mapping_state_dirty;
    00117
    00118     RArray<NETIcon> icons;
    00119     int icon_count;
    00120
    00121     NETRect icon_geom, win_geom;
    00122     unsigned long state;
    00123     NETStrut strut, frame_strut;
    00124     NET::WindowType type;
    00125     char *name, *visible_name, *icon_name, *visible_icon_name;
    00126     int desktop;
    00127     int pid;
    00128     int handled_icons;
    00129     Window kde_system_tray_win_for;
    00130
    00131     unsigned long properties;
    00132
    00133     int ref;
    00134 };
    00135
    00136
    00137 #endif // __net_wm_p_h

This file is part of the documentation for kdelibs Version 3.1.5.
Documentation copyright © 1996-2002 the KDE developers.
Generated on Wed Jan 28 12:47:01 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2001