• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

KDECore

NET Class Reference

Base namespace class. More...

#include <netwm_def.h>

List of all members.


Public Types

enum  { AllTypesMask = 0LU-1 }
enum  { OnAllDesktops = -1 }
enum  Action {
  ActionMove = 1<<0, ActionResize = 1<<1, ActionMinimize = 1<<2, ActionShade = 1<<3,
  ActionStick = 1<<4, ActionMaxVert = 1<<5, ActionMaxHoriz = 1<<6, ActionMax = ActionMaxVert | ActionMaxHoriz,
  ActionFullScreen = 1<<7, ActionChangeDesktop = 1<<8, ActionClose = 1<<9
}
enum  DesktopLayoutCorner { DesktopLayoutCornerTopLeft = 0, DesktopLayoutCornerTopRight = 1, DesktopLayoutCornerBottomLeft = 2, DesktopLayoutCornerBottomRight = 3 }
enum  Direction {
  TopLeft = 0, Top = 1, TopRight = 2, Right = 3,
  BottomRight = 4, Bottom = 5, BottomLeft = 6, Left = 7,
  Move = 8, KeyboardSize = 9, KeyboardMove = 10, MoveResizeCancel = 11
}
enum  MappingState { Visible, Withdrawn, Iconic }
enum  Orientation { OrientationHorizontal = 0, OrientationVertical = 1 }
enum  Property {
  Supported = 1<<0, ClientList = 1<<1, ClientListStacking = 1<<2, NumberOfDesktops = 1<<3,
  DesktopGeometry = 1<<4, DesktopViewport = 1<<5, CurrentDesktop = 1<<6, DesktopNames = 1<<7,
  ActiveWindow = 1<<8, WorkArea = 1<<9, SupportingWMCheck = 1<<10, VirtualRoots = 1<<11,
  KDESystemTrayWindows = 1<<12, CloseWindow = 1<<13, WMMoveResize = 1<<14, WMName = 1<<15,
  WMVisibleName = 1<<16, WMDesktop = 1<<17, WMWindowType = 1<<18, WMState = 1<<19,
  WMStrut = 1<<20, WMIconGeometry = 1<<21, WMIcon = 1<<22, WMPid = 1<<23,
  WMHandledIcons = 1<<24, WMPing = 1<<25, WMKDESystemTrayWinFor = 1<<26, XAWMState = 1<<27,
  WMFrameExtents = 1<<28, WMKDEFrameStrut = WMFrameExtents, WMIconName = 1<<29, WMVisibleIconName = 1<<30,
  WMGeometry = 1<<31
}
enum  Property2 {
  WM2UserTime = 1<<0, WM2StartupId = 1<<1, WM2TransientFor = 1<<2, WM2GroupLeader = 1<<3,
  WM2AllowedActions = 1<<4, WM2RestackWindow = 1<<5, WM2MoveResizeWindow = 1<<6, WM2ExtendedStrut = 1<<7,
  WM2TakeActivity = 1<<8, WM2KDETemporaryRules = 1<<9, WM2WindowClass = 1<<10, WM2WindowRole = 1<<11,
  WM2ClientMachine = 1<<12, WM2ShowingDesktop = 1<<13, WM2DesktopLayout = 1<<15
}
enum  RequestSource { FromUnknown, FromApplication, FromTool }
enum  Role { Client, WindowManager }
enum  State {
  Modal = 1<<0, Sticky = 1<<1, MaxVert = 1<<2, MaxHoriz = 1<<3,
  Max = MaxVert | MaxHoriz, Shaded = 1<<4, SkipTaskbar = 1<<5, KeepAbove = 1<<6,
  StaysOnTop = KeepAbove, SkipPager = 1<<7, Hidden = 1<<8, FullScreen = 1<<9,
  KeepBelow = 1<<10, DemandsAttention = 1<<11
}
enum  WindowType {
  Unknown = -1, Normal = 0, Desktop = 1, Dock = 2,
  Toolbar = 3, Menu = 4, Dialog = 5, Override = 6,
  TopMenu = 7, Tool = Toolbar, Utility = 8, Splash = 9,
  DropdownMenu = 10, PopupMenu = 11, Tooltip = 12, Notification = 13,
  ComboBox = 14, DNDIcon = 15
}
enum  WindowTypeMask {
  NormalMask = 1<<0, DesktopMask = 1<<1, DockMask = 1<<2, ToolbarMask = 1<<3,
  MenuMask = 1<<4, DialogMask = 1<<5, OverrideMask = 1<<6, TopMenuMask = 1<<7,
  UtilityMask = 1<<8, SplashMask = 1<<9, DropdownMenuMask = 1<<10, PopupMenuMask = 1<<11,
  TooltipMask = 1<<12, NotificationMask = 1<<13, ComboBoxMask = 1<<14, DNDIconMask = 1<<15
}

Static Public Member Functions

static int timestampCompare (unsigned long time1, unsigned long time2)
static int timestampDiff (unsigned long time1_, unsigned long time2_)
static bool typeMatchesMask (WindowType type, unsigned long mask)

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 NETRootInfo and NETWinInfo classes, which are used to retrieve and modify the properties of windows. To keep the namespace relatively clean, all enums are defined here.

See also:
http://www.freedesktop.org/standards/wm-spec/

Definition at line 235 of file netwm_def.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
AllTypesMask 

Definition at line 340 of file netwm_def.h.

anonymous enum

Sentinel value to indicate that the client wishes to be visible on all desktops.

Since:
3.2
Enumerator:
OnAllDesktops 

Definition at line 621 of file netwm_def.h.

enum NET::Action

Actions that can be done with a window (_NET_WM_ALLOWED_ACTIONS).

Since:
3.2
Enumerator:
ActionMove 
ActionResize 
ActionMinimize 
ActionShade 
ActionStick 
ActionMaxVert 
ActionMaxHoriz 
ActionMax 
ActionFullScreen 
ActionChangeDesktop 
ActionClose 

Definition at line 474 of file netwm_def.h.

enum NET::DesktopLayoutCorner

Starting corner for desktop layout.

Enumerator:
DesktopLayoutCornerTopLeft 
DesktopLayoutCornerTopRight 
DesktopLayoutCornerBottomLeft 
DesktopLayoutCornerBottomRight 

Definition at line 647 of file netwm_def.h.

enum NET::Direction

Direction for WMMoveResize.

When a client wants the Window Manager to start a WMMoveResize, it should specify one of:

  • TopLeft
  • Top
  • TopRight
  • Right
  • BottomRight
  • Bottom
  • BottomLeft
  • Left
  • Move (for movement only)
  • KeyboardSize (resizing via keyboard)
  • KeyboardMove (movement via keyboard)
Enumerator:
TopLeft 
Top 
TopRight 
Right 
BottomRight 
Bottom 
BottomLeft 
Left 
Move 
KeyboardSize 
Since:
3.2
KeyboardMove 
Since:
3.2
MoveResizeCancel 
Since:
3.5.1

Definition at line 425 of file netwm_def.h.

enum NET::MappingState

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.

  • Visible indicates the client window is visible to the user.
  • Withdrawn indicates that neither the client window nor its icon is visible.
  • 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 NET::Hidden.
Enumerator:
Visible 
Withdrawn 
Iconic 

Definition at line 464 of file netwm_def.h.

enum NET::Orientation

Orientation.

Enumerator:
OrientationHorizontal 
OrientationVertical 

Definition at line 639 of file netwm_def.h.

enum NET::Property

Supported properties.

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

Root/Desktop window properties and protocols:

  • Supported
  • ClientList
  • ClientListStacking
  • NumberOfDesktops
  • DesktopGeometry
  • DesktopViewport
  • CurrentDesktop
  • DesktopNames
  • ActiveWindow
  • WorkArea
  • SupportingWMCheck
  • VirtualRoots
  • CloseWindow
  • WMMoveResize
Client window properties and protocols:

  • WMName
  • WMVisibleName
  • WMDesktop
  • WMWindowType
  • WMState
  • WMStrut (obsoleted by WM2ExtendedStrut)
  • WMIconGeometry
  • WMIcon
  • WMPid
  • WMVisibleIconName
  • WMIconName
ICCCM properties (provided for convenience):

  • XAWMState
Extended KDE protocols and properties (NOT STANDARD):

  • KDESystemTrayWindows
  • WMKDESystemTrayWinFor
  • WMKDEFrameStrut
Enumerator:
Supported 
ClientList 
ClientListStacking 
NumberOfDesktops 
DesktopGeometry 
DesktopViewport 
CurrentDesktop 
DesktopNames 
ActiveWindow 
WorkArea 
SupportingWMCheck 
VirtualRoots 
KDESystemTrayWindows 
CloseWindow 
WMMoveResize 
WMName 
WMVisibleName 
WMDesktop 
WMWindowType 
WMState 
WMStrut 
WMIconGeometry 
WMIcon 
WMPid 
WMHandledIcons 
WMPing 
WMKDESystemTrayWinFor 
XAWMState 
WMFrameExtents 
Since:
3.5
WMKDEFrameStrut 
WMIconName 
WMVisibleIconName 
WMGeometry 

Definition at line 534 of file netwm_def.h.

enum NET::Property2

Supported properties.

This enum is an extension to NET::Property, because them enum is limited only to 32 bits.

Client window properties and protocols:

  • WM2UserTime
  • WM2StartupId
  • WM2TransientFor mainwindow for the window (WM_TRANSIENT_FOR)
  • WM2GroupLeader group leader (window_group in WM_HINTS)
  • WM2AllowedActions
  • WM2RestackWindow
  • WM2MoveResizeWindow
  • WM2ExtendedStrut
  • WM2TemporaryRules internal, for kstart
  • WM2WindowClass WM_CLASS
  • WM2WindowRole WM_WINDOW_ROLE
  • WM2ClientMachine WM_CLIENT_MACHINE
  • WM2DesktopLayout _NET_DESKTOP_LAYOUT
Since:
3.2
Enumerator:
WM2UserTime 
WM2StartupId 
WM2TransientFor 
WM2GroupLeader 
WM2AllowedActions 
WM2RestackWindow 
WM2MoveResizeWindow 
WM2ExtendedStrut 
WM2TakeActivity 
WM2KDETemporaryRules 
WM2WindowClass 
Since:
3.3
WM2WindowRole 
Since:
3.3
WM2ClientMachine 
Since:
3.3
WM2ShowingDesktop 
Since:
3.5
WM2DesktopLayout 
Since:
3.5.8

Definition at line 598 of file netwm_def.h.

enum NET::RequestSource

Source of the request.

  • FromApplication the request comes from a normal application
  • FromTool the request comes from pager or similar tool
    Since:
    3.2
Enumerator:
FromUnknown 
FromApplication 
FromTool 

Definition at line 630 of file netwm_def.h.

enum NET::Role

Application role.

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

  • Client indicates that the application is a client application.
  • WindowManager indicates that the application is a window manager application.
Enumerator:
Client 
WindowManager 

Definition at line 247 of file netwm_def.h.

enum NET::State

Window state.

  • 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.
  • 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.
  • Max{Vert,Horiz} indicates that the window is {vertically,horizontally} maximized.
  • Max is more convenient than MaxVert | MaxHoriz.
  • Shaded indicates that the window is shaded (rolled-up).
  • SkipTaskbar indicates that a window should not be included on a taskbar.
  • SkipPager indicates that a window should not be included on a pager.
  • 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.
  • FullScreen indicates that a window should fill the entire screen and have no window decorations.
  • KeepAbove indicates that a window should on top of most windows (but below fullscreen windows).
  • KeepBelow indicates that a window should be below most windows (but above any desktop windows).
  • StaysOnTop is an obsolete name for KeepAbove.
  • 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.
Note that KeepAbove (StaysOnTop) and KeepBelow are meant as user preference and applications should avoid setting these states themselves.
Enumerator:
Modal 
Sticky 
MaxVert 
MaxHoriz 
Max 
Shaded 
SkipTaskbar 
KeepAbove 
Since:
3.2
StaysOnTop 
SkipPager 
Hidden 
Since:
3.2
FullScreen 
Since:
3.2
KeepBelow 
Since:
3.2
DemandsAttention 
Since:
3.2

Definition at line 389 of file netwm_def.h.

enum NET::WindowType

Window type.

  • Unknown indicates that the window did not define a window type.
  • 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.
  • 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.
  • Dock indicates a dock or panel feature. Typically a window manager would keep such windows on top of all other windows.
  • Toolbar and Menu indicate toolbar and pinnable menu windows, respectively.
  • 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.
  • Override - deprecated, has unclear meaning and is KDE-only.
  • TopMenu indicates a toplevel menu (AKA macmenu). This is a KDE extension to the _NET_WM_WINDOW_TYPE mechanism.
  • DropdownMenu - dropdown menu (from a menubar typically)
  • PopupMenu - a popup menu (a context menu typically)
  • Tooltip - a tooltip window
  • Notification - a notification window
  • ComboBox - a list window for a combobox
  • DNDIcon - a window that represents the dragged object during DND operation
Note that some window types are typically used only on override-redirect windows (WX11BypassWM flag).
Enumerator:
Unknown 
Normal 
Desktop 
Dock 
Toolbar 
Menu 
Dialog 
Override 
Deprecated:
TopMenu 
Tool 
Utility 
Since:
3.2
Splash 
Since:
3.2
DropdownMenu 
Since:
3.5.7
PopupMenu 
Since:
3.5.7
Tooltip 
Since:
3.5.7
Notification 
Since:
3.5.7
ComboBox 
Since:
3.5.7
DNDIcon 
Since:
3.5.7

Definition at line 294 of file netwm_def.h.

enum NET::WindowTypeMask

Values for WindowType when they should be OR'ed together, e.g.

for the properties argument of the NETRootInfo constructor.

Since:
3.2
Enumerator:
NormalMask 
DesktopMask 
DockMask 
ToolbarMask 
MenuMask 
DialogMask 
OverrideMask 
TopMenuMask 
UtilityMask 
SplashMask 
DropdownMenuMask 
Since:
3.5.7
PopupMenuMask 
Since:
3.5.7
TooltipMask 
Since:
3.5.7
NotificationMask 
Since:
3.5.7
ComboBoxMask 
Since:
3.5.7
DNDIconMask 
Since:
3.5.7

Definition at line 320 of file netwm_def.h.


Member Function Documentation

static int NET::timestampCompare ( unsigned long  time1,
unsigned long  time2 
) [static]

Compares two X timestamps, taking into account wrapping and 64bit architectures.

Return value is like with strcmp(), 0 for equal, -1 for time1 < time2, 1 for time1 > time2.

Since:
3.5.3

static int NET::timestampDiff ( unsigned long  time1_,
unsigned long  time2_ 
) [static]

Returns a difference of two X timestamps, time2 - time1, where time2 must be later than time1, as returned by timestampCompare().

Since:
3.5.3

static bool NET::typeMatchesMask ( WindowType  type,
unsigned long  mask 
) [static]

Returns true if the given window type matches the mask given using WindowTypeMask flags.


The documentation for this class was generated from the following file:
  • netwm_def.h

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal