.TH "NET" kde3 "11 Jun 2005" "Version Version 3.4.1" "kdecore Library" \" -*- nroff -*-
.ad l
.nh
.SH NAME
NET \- Base namespace class.  

.PP
.SH SYNOPSIS
.br
.PP
\fC#include <netwm_def.h>\fP
.PP
Inherited by \fBNETRootInfo\fP, and \fBNETWinInfo\fP.
.PP
.SS "Public Types"

.in +1c
.ti -1c
.RI "enum \fBRole\fP { \fBClient\fP, \fBWindowManager\fP }"
.br
.ti -1c
.RI "enum \fBWindowType\fP { \fBUnknown\fP =  -1, \fBNormal\fP =  0, \fBDesktop\fP =  1, \fBDock\fP =  2, \fBToolbar\fP =  3, \fBMenu\fP =  4, \fBDialog\fP =  5, \fBOverride\fP =  6, \fBTopMenu\fP =  7, \fBTool\fP =  Toolbar, \fBUtility\fP =  8, \fBSplash\fP =  9 }"
.br
.ti -1c
.RI "enum \fBWindowTypeMask\fP { \fBNormalMask\fP =  1<<0, \fBDesktopMask\fP =  1<<1, \fBDockMask\fP =  1<<2, \fBToolbarMask\fP =  1<<3, \fBMenuMask\fP =  1<<4, \fBDialogMask\fP =  1<<5, \fBOverrideMask\fP =  1<<6, \fBTopMenuMask\fP =  1<<7, \fBUtilityMask\fP =  1<<8, \fBSplashMask\fP =  1<<9 }"
.br
.ti -1c
.RI "enum { \fBAllTypesMask\fP =  0LU-1 }"
.br
.ti -1c
.RI "enum \fBState\fP { \fBModal\fP =  1<<0, \fBSticky\fP =  1<<1, \fBMaxVert\fP =  1<<2, \fBMaxHoriz\fP =  1<<3, \fBMax\fP =  MaxVert | MaxHoriz, \fBShaded\fP =  1<<4, \fBSkipTaskbar\fP =  1<<5, \fBKeepAbove\fP =  1<<6, \fBStaysOnTop\fP =  KeepAbove, \fBSkipPager\fP =  1<<7, \fBHidden\fP =  1<<8, \fBFullScreen\fP =  1<<9, \fBKeepBelow\fP =  1<<10, \fBDemandsAttention\fP =  1<<11 }"
.br
.ti -1c
.RI "enum \fBDirection\fP { \fBTopLeft\fP =  0, \fBTop\fP =  1, \fBTopRight\fP =  2, \fBRight\fP =  3, \fBBottomRight\fP =  4, \fBBottom\fP =  5, \fBBottomLeft\fP =  6, \fBLeft\fP =  7, \fBMove\fP =  8, \fBKeyboardSize\fP =  9, \fBKeyboardMove\fP =  10 }"
.br
.ti -1c
.RI "enum \fBMappingState\fP { \fBVisible\fP, \fBWithdrawn\fP, \fBIconic\fP }"
.br
.ti -1c
.RI "enum \fBAction\fP { \fBActionMove\fP =  1<<0, \fBActionResize\fP =  1<<1, \fBActionMinimize\fP =  1<<2, \fBActionShade\fP =  1<<3, \fBActionStick\fP =  1<<4, \fBActionMaxVert\fP =  1<<5, \fBActionMaxHoriz\fP =  1<<6, \fBActionMax\fP =  ActionMaxVert | ActionMaxHoriz, \fBActionFullScreen\fP =  1<<7, \fBActionChangeDesktop\fP =  1<<8, \fBActionClose\fP =  1<<9 }"
.br
.ti -1c
.RI "enum \fBProperty\fP { \fBSupported\fP =  1<<0, \fBClientList\fP =  1<<1, \fBClientListStacking\fP =  1<<2, \fBNumberOfDesktops\fP =  1<<3, \fBDesktopGeometry\fP =  1<<4, \fBDesktopViewport\fP =  1<<5, \fBCurrentDesktop\fP =  1<<6, \fBDesktopNames\fP =  1<<7, \fBActiveWindow\fP =  1<<8, \fBWorkArea\fP =  1<<9, \fBSupportingWMCheck\fP =  1<<10, \fBVirtualRoots\fP =  1<<11, \fBKDESystemTrayWindows\fP =  1<<12, \fBCloseWindow\fP =  1<<13, \fBWMMoveResize\fP =  1<<14, \fBWMName\fP =  1<<15, \fBWMVisibleName\fP =  1<<16, \fBWMDesktop\fP =  1<<17, \fBWMWindowType\fP =  1<<18, \fBWMState\fP =  1<<19, \fBWMStrut\fP =  1<<20, \fBWMIconGeometry\fP =  1<<21, \fBWMIcon\fP =  1<<22, \fBWMPid\fP =  1<<23, \fBWMHandledIcons\fP =  1<<24, \fBWMPing\fP =  1<<25, \fBWMKDESystemTrayWinFor\fP =  1<<26, \fBXAWMState\fP =  1<<27, \fBWMKDEFrameStrut\fP =  1<<28, \fBWMIconName\fP =  1<<29, \fBWMVisibleIconName\fP =  1<<30, \fBWMGeometry\fP =  1<<31 }"
.br
.ti -1c
.RI "enum \fBProperty2\fP { \fBWM2UserTime\fP =  1<<0, \fBWM2StartupId\fP =  1<<1, \fBWM2TransientFor\fP =  1<<2, \fBWM2GroupLeader\fP =  1<<3, \fBWM2AllowedActions\fP =  1<<4, \fBWM2RestackWindow\fP =  1<<5, \fBWM2MoveResizeWindow\fP =  1<<6, \fBWM2ExtendedStrut\fP =  1<<7, \fBWM2TakeActivity\fP =  1<<8, \fBWM2KDETemporaryRules\fP =  1<<9, \fBWM2WindowClass\fP =  1<<10, \fBWM2WindowRole\fP =  1<<11, \fBWM2ClientMachine\fP =  1<<12 }"
.br
.ti -1c
.RI "enum { \fBOnAllDesktops\fP =  -1 }"
.br
.ti -1c
.RI "enum \fBRequestSource\fP { \fBFromUnknown\fP, \fBFromApplication\fP, \fBFromTool\fP }"
.br
.in -1c
.SS "Static Public Member Functions"

.in +1c
.ti -1c
.RI "static bool \fBtypeMatchesMask\fP (\fBWindowType\fP type, unsigned long mask)"
.br
.in -1c
.SH "Detailed Description"
.PP 
Base namespace class. 

The NET API is an implementation of the NET Window Manager Specification.
.PP
This class is the base class for the \fBNETRootInfo\fP and \fBNETWinInfo\fP classes, which are used to retrieve and modify the properties of windows. To keep the namespace relatively clean, all enums are defined here.
.PP
\fBSee also:\fP
.RS 4
http://www.freedesktop.org/standards/wm-spec/ 
.RE
.PP

.PP
Definition at line 235 of file netwm_def.h.
.SH "Member Enumeration Documentation"
.PP 
.SS "enum \fBNET::Role\fP"
.PP
Application role. 
.PP
This is used internally to determine how several action should be performed (if at all).
.PP
.PD 0
.IP "\(bu" 2
Client indicates that the application is a client application.
.PP
.PD 0
.IP "\(bu" 2
WindowManager indicates that the application is a window manager application. 
.PP

.PP
Definition at line 247 of file netwm_def.h.
.SS "enum \fBNET::WindowType\fP"
.PP
Window type. 
.PP
.PD 0
.IP "\(bu" 2
Unknown indicates that the window did not define a window type.
.PP
.PD 0
.IP "\(bu" 2
Normal indicates that this is a normal, top-level window. Windows with Unknown window type or WM_TRANSIENT_FOR unset must be taken as this type.
.PP
.PD 0
.IP "\(bu" 2
Desktop indicates a desktop feature. This can include a single window containing desktop icons with the same dimensions as the screen, allowing the desktop environment to have full control of the desktop, without the need for proxying root window clicks.
.PP
.PD 0
.IP "\(bu" 2
Dock indicates a dock or panel feature. Typically a window manager would keep such windows on top of all other windows.
.PP
.PD 0
.IP "\(bu" 2
Toolbar and Menu indicate toolbar and pinnable menu windows, respectively.
.PP
.PD 0
.IP "\(bu" 2
Dialog indicates that this is a dialog window. If _NET_WM_WINDOW_TYPE is not set, then windows with WM_TRANSIENT_FOR set must be taken as this type.
.PP
.PD 0
.IP "\(bu" 2
Override indicates that this window wants to have no Window Manager decorations. This is for windows that would normally use either override_redirect or Motif hints to give no decorations. This is a \fBKDE\fP extension to the _NET_WM_WINDOW_TYPE mechanism.
.PP
.PD 0
.IP "\(bu" 2
TopMenu indicates a toplevel menu (AKA macmenu). This is a \fBKDE\fP extension to the _NET_WM_WINDOW_TYPE mechanism. 
.PP

.PP
\fBEnumeration values: \fP
.in +1c
.TP
\fB\fIUtility \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.TP
\fB\fISplash \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
Definition at line 282 of file netwm_def.h.
.SS "enum \fBNET::WindowTypeMask\fP"
.PP
Values for WindowType when they should be OR'ed together, e.g. 
.PP
for the properties argument of the \fBNETRootInfo\fP constructor. 
.PP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
Definition at line 302 of file netwm_def.h.
.SS "enum \fBNET::State\fP"
.PP
Window state. 
.PP
.PD 0
.IP "\(bu" 2
Modal ndicates that this is a modal dialog box. The WM_TRANSIENT_FOR hint MUST be set to indicate which window the dialog is a modal for, or set to the root window if the dialog is a modal for its window group.
.PP
.PD 0
.IP "\(bu" 2
Sticky indicates that the Window Manager SHOULD keep the window's position fixed on the screen, even when the virtual desktop scrolls. Note that this is different from being kept on all desktops.
.PP
.PD 0
.IP "\(bu" 2
Max{Vert,Horiz} indicates that the window is {vertically,horizontally} maximized.
.PP
.PD 0
.IP "\(bu" 2
Max is more convenient than MaxVert | MaxHoriz.
.PP
.PD 0
.IP "\(bu" 2
Shaded indicates that the window is shaded (rolled-up).
.PP
.PD 0
.IP "\(bu" 2
SkipTaskbar indicates that a window should not be included on a taskbar.
.PP
.PD 0
.IP "\(bu" 2
SkipPager indicates that a window should not be included on a pager.
.PP
.PD 0
.IP "\(bu" 2
Hidden indicates that a window should not be visible on the screen (e.g. when minimised). Only the window manager is allowed to change it.
.PP
.PD 0
.IP "\(bu" 2
FullScreen indicates that a window should fill the entire screen and have no window decorations.
.PP
.PD 0
.IP "\(bu" 2
KeepAbove indicates that a window should on top of most windows (but below fullscreen windows).
.PP
.PD 0
.IP "\(bu" 2
KeepBelow indicates that a window should be below most windows (but above any desktop windows).
.PP
.PD 0
.IP "\(bu" 2
StaysOnTop is an obsolete name for KeepAbove.
.PP
.PD 0
.IP "\(bu" 2
DemandsAttention there was an attempt to activate this window, but the window manager prevented this. E.g. taskbar should mark such window specially to bring user's attention to this window. Only the window manager is allowed to change it.
.PP
Note that KeepAbove (StaysOnTop) and KeepBelow are meant as user preference and applications should avoid setting these states themselves. 
.PP
\fBEnumeration values: \fP
.in +1c
.TP
\fB\fIKeepAbove \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.TP
\fB\fIHidden \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.TP
\fB\fIFullScreen \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.TP
\fB\fIKeepBelow \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.TP
\fB\fIDemandsAttention \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
Definition at line 365 of file netwm_def.h.
.SS "enum \fBNET::Direction\fP"
.PP
Direction for WMMoveResize. 
.PP
When a client wants the Window Manager to start a WMMoveResize, it should specify one of:
.PP
.PD 0
.IP "\(bu" 2
TopLeft 
.IP "\(bu" 2
Top 
.IP "\(bu" 2
TopRight 
.IP "\(bu" 2
Right 
.IP "\(bu" 2
BottomRight 
.IP "\(bu" 2
Bottom 
.IP "\(bu" 2
BottomLeft 
.IP "\(bu" 2
Left 
.IP "\(bu" 2
Move (for movement only) 
.IP "\(bu" 2
KeyboardSize (resizing via keyboard) 
.IP "\(bu" 2
KeyboardMove (movement via keyboard) 
.PP

.PP
\fBEnumeration values: \fP
.in +1c
.TP
\fB\fIKeyboardSize \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.TP
\fB\fIKeyboardMove \fP\fP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
Definition at line 401 of file netwm_def.h.
.SS "enum \fBNET::MappingState\fP"
.PP
Client window mapping state. 
.PP
The class automatically watches the mapping state of the client windows, and uses the mapping state to determine how to set/change different properties.
.PP
.PD 0
.IP "\(bu" 2
Visible indicates the client window is visible to the user.
.PP
.PD 0
.IP "\(bu" 2
Withdrawn indicates that neither the client window nor its icon is visible.
.PP
.PD 0
.IP "\(bu" 2
Iconic indicates that the client window is not visible, but its icon is. This can be when the window is minimized or when it's on a different virtual desktop. See also \fBNET::Hidden\fP. 
.PP

.PP
Definition at line 436 of file netwm_def.h.
.SS "enum \fBNET::Action\fP"
.PP
Actions that can be done with a window (_NET_WM_ALLOWED_ACTIONS). 
.PP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
Definition at line 446 of file netwm_def.h.
.SS "enum \fBNET::Property\fP"
.PP
Supported properties. 
.PP
Clients and Window Managers must define which properties/protocols it wants to support.
.PP
Root/Desktop window properties and protocols:
.PP
.PD 0
.IP "\(bu" 2
Supported 
.IP "\(bu" 2
ClientList 
.IP "\(bu" 2
ClientListStacking 
.IP "\(bu" 2
NumberOfDesktops 
.IP "\(bu" 2
DesktopGeometry 
.IP "\(bu" 2
DesktopViewport 
.IP "\(bu" 2
CurrentDesktop 
.IP "\(bu" 2
DesktopNames 
.IP "\(bu" 2
ActiveWindow 
.IP "\(bu" 2
WorkArea 
.IP "\(bu" 2
SupportingWMCheck 
.IP "\(bu" 2
VirtualRoots 
.IP "\(bu" 2
CloseWindow 
.IP "\(bu" 2
WMMoveResize
.PP
Client window properties and protocols:
.PP
.PD 0
.IP "\(bu" 2
WMName 
.IP "\(bu" 2
WMVisibleName 
.IP "\(bu" 2
WMDesktop 
.IP "\(bu" 2
WMWindowType 
.IP "\(bu" 2
WMState 
.IP "\(bu" 2
WMStrut (obsoleted by WM2ExtendedStrut) 
.IP "\(bu" 2
WMIconGeometry 
.IP "\(bu" 2
WMIcon 
.IP "\(bu" 2
WMPid 
.IP "\(bu" 2
WMVisibleIconName 
.IP "\(bu" 2
WMIconName
.PP
ICCCM properties (provided for convenience):
.PP
.PD 0
.IP "\(bu" 2
XAWMState
.PP
Extended \fBKDE\fP protocols and properties (NOT STANDARD):
.PP
.PD 0
.IP "\(bu" 2
KDESystemTrayWindows 
.IP "\(bu" 2
WMKDESystemTrayWinFor 
.IP "\(bu" 2
WMKDEFrameStrut 
.PP

.PP
Definition at line 506 of file netwm_def.h.
.SS "enum \fBNET::Property2\fP"
.PP
Supported properties. 
.PP
This enum is an extension to \fBNET::Property\fP, because them enum is limited only to 32 bits.
.PP
Client window properties and protocols:
.PP
.PD 0
.IP "\(bu" 2
WM2UserTime 
.IP "\(bu" 2
WM2StartupId 
.IP "\(bu" 2
WM2TransientFor mainwindow for the window (WM_TRANSIENT_FOR) 
.IP "\(bu" 2
WM2GroupLeader group leader (window_group in WM_HINTS) 
.IP "\(bu" 2
WM2AllowedActions 
.IP "\(bu" 2
WM2RestackWindow 
.IP "\(bu" 2
WM2MoveResizeWindow 
.IP "\(bu" 2
WM2ExtendedStrut 
.IP "\(bu" 2
WM2TemporaryRules internal, for kstart 
.IP "\(bu" 2
WM2WindowClass WM_CLASS 
.IP "\(bu" 2
WM2WindowRole WM_WINDOW_ROLE 
.IP "\(bu" 2
WM2ClientMachine WM_CLIENT_MACHINE
.PP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
\fBEnumeration values: \fP
.in +1c
.TP
\fB\fIWM2WindowClass \fP\fP
\fBSince:\fP
.RS 4
3.3 
.RE
.PP

.TP
\fB\fIWM2WindowRole \fP\fP
\fBSince:\fP
.RS 4
3.3 
.RE
.PP

.TP
\fB\fIWM2ClientMachine \fP\fP
\fBSince:\fP
.RS 4
3.3 
.RE
.PP

.PP
Definition at line 568 of file netwm_def.h.
.SS "anonymous enum"
.PP
Sentinel value to indicate that the client wishes to be visible on all desktops. 
.PP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP
Definition at line 589 of file netwm_def.h.
.SS "enum \fBNET::RequestSource\fP"
.PP
Source of the request. 
.PP
.PD 0
.IP "\(bu" 2
FromApplication the request comes from a normal application 
.IP "\(bu" 2
FromTool the request comes from pager or similar tool 
.PP
\fBSince:\fP
.RS 4
3.2 
.RE
.PP

.PP

.PP
Definition at line 598 of file netwm_def.h.
.SH "Member Function Documentation"
.PP 
.SS "bool NET::typeMatchesMask (\fBWindowType\fP type, unsigned long mask)\fC [static]\fP"
.PP
Returns true if the given window type matches the mask given using WindowTypeMask flags. 
.PP
Definition at line 4130 of file netwm.cpp.
.PP
Referenced by NETWinInfo::windowType().

.SH "Author"
.PP 
Generated automatically by Doxygen for kdecore Library from the source code.
