\section{NET Class Reference}
\label{classNET}\index{NET@{NET}}
Base namespace class.  


{\tt \#include $<$netwm\_\-def.h$>$}

\subsection*{Public Types}
\begin{CompactItemize}
\item 
enum {\bf Role} \{ {\bf Client}, 
{\bf Window\-Manager}
 \}
\begin{CompactList}\small\item\em Application role. \item\end{CompactList}\item 
enum {\bf Window\-Type} \{ \par
{\bf Unknown} =  -1, 
{\bf Normal} =  0, 
{\bf Desktop} =  1, 
{\bf Dock} =  2, 
\par
{\bf Toolbar} =  3, 
{\bf Menu} =  4, 
{\bf Dialog} =  5, 
{\bf Override} =  6, 
\par
{\bf Top\-Menu} =  7, 
{\bf Tool} =  Toolbar
 \}
\begin{CompactList}\small\item\em Window type. \item\end{CompactList}\item 
enum {\bf State} \{ \par
{\bf Modal} =  1$<$$<$0, 
{\bf Sticky} =  1$<$$<$1, 
{\bf Max\-Vert} =  1$<$$<$2, 
{\bf Max\-Horiz} =  1$<$$<$3, 
\par
{\bf Max} =  Max\-Vert $|$ Max\-Horiz, 
{\bf Shaded} =  1$<$$<$4, 
{\bf Skip\-Taskbar} =  1$<$$<$5, 
{\bf Stays\-On\-Top} =  1$<$$<$6, 
\par
{\bf Skip\-Pager} =  1$<$$<$7
 \}
\begin{CompactList}\small\item\em Window state. \item\end{CompactList}\item 
enum {\bf Direction} \{ \par
{\bf Top\-Left} =  0, 
{\bf Top} =  1, 
{\bf Top\-Right} =  2, 
{\bf Right} =  3, 
\par
{\bf Bottom\-Right} =  4, 
{\bf Bottom} =  5, 
{\bf Bottom\-Left} =  6, 
{\bf Left} =  7, 
\par
{\bf Move} =  8
 \}
\begin{CompactList}\small\item\em Direction for WMMove\-Resize. \item\end{CompactList}\item 
enum {\bf Mapping\-State} \{ {\bf Visible}, 
{\bf Withdrawn}, 
{\bf Iconic}
 \}
\begin{CompactList}\small\item\em Client window mapping state. \item\end{CompactList}\item 
enum {\bf Property} \{ \par
{\bf Supported} =  1$<$$<$0, 
{\bf Client\-List} =  1$<$$<$1, 
{\bf Client\-List\-Stacking} =  1$<$$<$2, 
{\bf Number\-Of\-Desktops} =  1$<$$<$3, 
\par
{\bf Desktop\-Geometry} =  1$<$$<$4, 
{\bf Desktop\-Viewport} =  1$<$$<$5, 
{\bf Current\-Desktop} =  1$<$$<$6, 
{\bf Desktop\-Names} =  1$<$$<$7, 
\par
{\bf Active\-Window} =  1$<$$<$8, 
{\bf Work\-Area} =  1$<$$<$9, 
{\bf Supporting\-WMCheck} =  1$<$$<$10, 
{\bf Virtual\-Roots} =  1$<$$<$11, 
\par
{\bf KDESystem\-Tray\-Windows} =  1$<$$<$12, 
{\bf Close\-Window} =  1$<$$<$13, 
{\bf WMMove\-Resize} =  1$<$$<$14, 
{\bf WMName} =  1$<$$<$15, 
\par
{\bf WMVisible\-Name} =  1$<$$<$16, 
{\bf WMDesktop} =  1$<$$<$17, 
{\bf WMWindow\-Type} =  1$<$$<$18, 
{\bf WMState} =  1$<$$<$19, 
\par
{\bf WMStrut} =  1$<$$<$20, 
{\bf WMIcon\-Geometry} =  1$<$$<$21, 
{\bf WMIcon} =  1$<$$<$22, 
{\bf WMPid} =  1$<$$<$23, 
\par
{\bf WMHandled\-Icons} =  1$<$$<$24, 
{\bf WMPing} =  1$<$$<$25, 
{\bf WMKDESystem\-Tray\-Win\-For} =  1$<$$<$26, 
{\bf XAWMState} =  1$<$$<$27, 
\par
{\bf WMKDEFrame\-Strut} =  1$<$$<$28, 
{\bf WMIcon\-Name} =  1$<$$<$29, 
{\bf WMVisible\-Icon\-Name} =  1$<$$<$30, 
{\bf WMGeometry} =  1$<$$<$31
 \}
\begin{CompactList}\small\item\em Supported properties. \item\end{CompactList}\end{CompactItemize}


\subsection{Detailed Description}
Base namespace class. 

The NET API is an implementation of the NET Window Manager Specification.

This class is the base class for the NETRoot\-Info and NETWin\-Info classes, which are used to retrieve and modify the properties of windows. To keep the namespace relatively clean, all enums are defined here.

\begin{Desc}
\item[See also:]{\tt http://www.freedesktop.org/standards/wm-spec/} \end{Desc}




Definition at line 190 of file netwm\_\-def.h.

\subsection{Member Enumeration Documentation}
\index{NET@{NET}!Role@{Role}}
\index{Role@{Role}!NET@{NET}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf NET::Role}}\label{classNET_w65}


Application role. 

This is used internally to determine how several action should be performed (if at all).

\begin{itemize}
\item Client indicates that the application is a client application.\end{itemize}
\begin{itemize}
\item Window\-Manager indicates that the application is a window manager application. \end{itemize}


Definition at line 202 of file netwm\_\-def.h.\index{NET@{NET}!WindowType@{WindowType}}
\index{WindowType@{WindowType}!NET@{NET}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf NET::Window\-Type}}\label{classNET_w66}


Window type. 

\begin{itemize}
\item Unknown indicates that the window did not define a window type.\end{itemize}
\begin{itemize}
\item 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.\end{itemize}
\begin{itemize}
\item 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.\end{itemize}
\begin{itemize}
\item Dock indicates a dock or panel feature. Typically a window manager would keep such windows on top of all other windows.\end{itemize}
\begin{itemize}
\item Toolbar and Menu indicate toolbar and pinnable menu windows, respectively.\end{itemize}
\begin{itemize}
\item 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.\end{itemize}
\begin{itemize}
\item 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 {\bf KDE}{\rm (p.\,\pageref{namespaceKDE})} extension to the \_\-NET\_\-WM\_\-WINDOW\_\-TYPE mechanism.\end{itemize}
\begin{itemize}
\item Top\-Menu indicates a toplevel menu (AKA macmenu). This is a {\bf KDE}{\rm (p.\,\pageref{namespaceKDE})} extension to the \_\-NET\_\-WM\_\-WINDOW\_\-TYPE mechanism. \end{itemize}


Definition at line 237 of file netwm\_\-def.h.\index{NET@{NET}!State@{State}}
\index{State@{State}!NET@{NET}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf NET::State}}\label{classNET_w67}


Window state. 

\begin{itemize}
\item 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.\end{itemize}
\begin{itemize}
\item Sticky indicates that the Window Manager SHOULD keep the window's position fixed on the screen, even when the virtual desktop scrolls.\end{itemize}
\begin{itemize}
\item Max\{Vert,Horiz\} indicates that the window is \{vertically,horizontally\} maximized.\end{itemize}
\begin{itemize}
\item Max is more convenient than Max\-Vert $|$ Max\-Horiz.\end{itemize}
\begin{itemize}
\item Shaded indicates that the window is shaded (rolled-up).\end{itemize}
\begin{itemize}
\item Skip\-Taskbar indicates that a window should not be included on a taskbar.\end{itemize}
\begin{itemize}
\item Stays\-On\-Top indicate that a window should be kept on top of other windows.\end{itemize}
\begin{itemize}
\item Skip\-Pager indicates that a window should not be included on a pager. \end{itemize}


Definition at line 274 of file netwm\_\-def.h.\index{NET@{NET}!Direction@{Direction}}
\index{Direction@{Direction}!NET@{NET}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf NET::Direction}}\label{classNET_w68}


Direction for WMMove\-Resize. 

When a client wants the Window Manager to start a WMMove\-Resize, it should specify one of:

\begin{itemize}
\item Top\-Left \item Top \item Top\-Right \item Right \item Bottom\-Right \item Bottom \item Bottom\-Left \item Left \item Move (for movement only) \end{itemize}


Definition at line 303 of file netwm\_\-def.h.\index{NET@{NET}!MappingState@{MappingState}}
\index{MappingState@{MappingState}!NET@{NET}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf NET::Mapping\-State}}\label{classNET_w69}


Client window mapping state. 

The class automatically watches the mapping state of the client windows, and uses the mapping state to determine how to set/change different properties.

\begin{itemize}
\item Visible indicates the client window is visible to the user.\end{itemize}
\begin{itemize}
\item Withdrawn indicates that neither the client window nor its icon is visible.\end{itemize}
\begin{itemize}
\item Iconic indicates that the client window is not visible, but its icon is. \end{itemize}


Definition at line 327 of file netwm\_\-def.h.\index{NET@{NET}!Property@{Property}}
\index{Property@{Property}!NET@{NET}}
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}enum {\bf NET::Property}}\label{classNET_w70}


Supported properties. 

Clients and Window Managers must define which properties/protocols it wants to support.

Root/Desktop window properties and protocols:

\begin{itemize}
\item Supported \item Client\-List \item Client\-List\-Stacking \item Number\-Of\-Desktops \item Desktop\-Geometry \item Desktop\-Viewport \item Current\-Desktop \item Desktop\-Names \item Active\-Window \item Work\-Area \item Supporting\-WMCheck \item Virtual\-Roots \item Close\-Window \item WMMove\-Resize\end{itemize}
Client window properties and protocols:

\begin{itemize}
\item WMName \item WMVisible\-Name \item WMDesktop \item WMWindow\-Type \item WMState \item WMStrut \item WMIcon\-Geometry \item WMIcon \item WMPid\end{itemize}
ICCCM properties (provided for convenience):

\begin{itemize}
\item XAWMState\end{itemize}
Extended {\bf KDE}{\rm (p.\,\pageref{namespaceKDE})} protocols and properties (NOT STANDARD):

\begin{itemize}
\item KDESystem\-Tray\-Windows \item WMKDESystem\-Tray\-Win\-For \item WMKDEFrame\-Strut \end{itemize}


Definition at line 377 of file netwm\_\-def.h.

The documentation for this class was generated from the following file:\begin{CompactItemize}
\item 
netwm\_\-def.h\end{CompactItemize}
