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

# netwm_def.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 #ifndef   __netwm_def_h
    00026 #define   __netwm_def_h
    00027
    00028
    00042 struct NETPoint {
    00046     NETPoint() : x(0), y(0) { }
    00047
    00048     /*
    00049        Public data member.
    00050     **/
    00051     int x,
    00052       y;
    00053 };
    00054
    00055
    00069 struct NETSize {
    00073     NETSize() : width(0), height(0) { }
    00074
    00075     /*
    00076        Public data member.
    00077     **/
    00078     int width,
    00079       height;
    00080 };
    00081
    00092 struct NETRect {
    00098     NETPoint pos;
    00099
    00105     NETSize size;
    00106 };
    00107
    00108
    00120 struct NETIcon {
    00124     NETIcon() : data(0) { }
    00125
    00131     NETSize size;
    00132
    00138     unsigned char *data;
    00139 };
    00140
    00141
    00150 struct NETStrut {
    00154     NETStrut() : left(0), right(0), top(0), bottom(0) { }
    00155
    00159     int left;
    00160
    00164     int right;
    00165
    00169     int top;
    00170
    00174     int bottom;
    00175 };
    00176
    00177
    00190 class NET {
    00191 public:
    00202     enum Role {
    00203         Client,
    00204         WindowManager
    00205     };
    00206
    00237     enum WindowType {
    00238         Unknown  = -1,
    00239         Normal   = 0,
    00240         Desktop  = 1,
    00241         Dock     = 2,
    00242         Toolbar  = 3,
    00243         Menu     = 4,
    00244         Dialog   = 5,
    00245         Override = 6, // NON STANDARD
    00246         TopMenu  = 7, // NON STANDARD
    00247         Tool     = Toolbar // This will go away soon, COMPAT
    00248     };
    00249
    00274     enum State {
    00275         Modal        = 1<<0,
    00276         Sticky       = 1<<1,
    00277         MaxVert      = 1<<2,
    00278         MaxHoriz     = 1<<3,
    00279         Max = MaxVert | MaxHoriz,
    00280         Shaded       = 1<<4,
    00281         SkipTaskbar  = 1<<5,
    00282         StaysOnTop   = 1<<6,
    00283         SkipPager    = 1<<7
    00284     };
    00285
    00303     enum Direction {
    00304         TopLeft      = 0,
    00305         Top          = 1,
    00306         TopRight     = 2,
    00307         Right        = 3,
    00308         BottomRight  = 4,
    00309         Bottom       = 5,
    00310         BottomLeft   = 6,
    00311         Left         = 7,
    00312         Move         = 8  // movement only
    00313     };
    00314
    00327     enum MappingState {
    00328         Visible, // ie. NormalState
    00329         Withdrawn,
    00330         Iconic
    00331     };
    00332
    00377     enum Property {
    00378         // root
    00379         Supported             = 1<<0,
    00380         ClientList            = 1<<1,
    00381         ClientListStacking    = 1<<2,
    00382         NumberOfDesktops      = 1<<3,
    00383         DesktopGeometry       = 1<<4,
    00384         DesktopViewport       = 1<<5,
    00385         CurrentDesktop        = 1<<6,
    00386         DesktopNames          = 1<<7,
    00387         ActiveWindow          = 1<<8,
    00388         WorkArea              = 1<<9,
    00389         SupportingWMCheck     = 1<<10,
    00390         VirtualRoots          = 1<<11,
    00391         KDESystemTrayWindows  = 1<<12, // NOT STANDARD
    00392         CloseWindow           = 1<<13,
    00393         WMMoveResize          = 1<<14,
    00394
    00395         // window
    00396         WMName                = 1<<15,
    00397         WMVisibleName         = 1<<16,
    00398         WMDesktop             = 1<<17,
    00399         WMWindowType          = 1<<18,
    00400         WMState               = 1<<19,
    00401         WMStrut               = 1<<20,
    00402         WMIconGeometry        = 1<<21,
    00403         WMIcon                = 1<<22,
    00404         WMPid                 = 1<<23,
    00405         WMHandledIcons        = 1<<24,
    00406         WMPing                = 1<<25,
    00407         WMKDESystemTrayWinFor = 1<<26, // NOT STANDARD
    00408         XAWMState             = 1<<27, // NOT STANDARD
    00409         WMKDEFrameStrut       = 1<<28, // NOT STANDARD
    00410
    00411         // Need to be reordered
    00412         WMIconName            = 1<<29,
    00413         WMVisibleIconName     = 1<<30,
    00414         WMGeometry            = 1<<31
    00415     };
    00416 };
    00417
    00418
    00419 #endif // __netwm_def_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