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

KDEUI

NET Class Reference

Base namespace class. More...

#include <netwm_def.h>

Inheritance diagram for NET:

Inheritance graph
[legend]

List of all members.


Public Types

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 = 1, Withdrawn = 0, Iconic = 3 }
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,
  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, XAWMState = 1<<27, WMFrameExtents = 1<<28, 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, WM2Opacity = 1<<14, WM2DesktopLayout = 1<<15,
  WM2FullPlacement = 1<<16, WM2FullscreenMonitors = 1<<17
}
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, 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,
  AllTypesMask = 0LU-1
}

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 283 of file netwm_def.h.


Member Enumeration Documentation

anonymous enum

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

Enumerator:
OnAllDesktops 

Definition at line 696 of file netwm_def.h.

enum NET::Action

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

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

Definition at line 553 of file netwm_def.h.

enum NET::DesktopLayoutCorner

Starting corner for desktop layout.

Enumerator:
DesktopLayoutCornerTopLeft 
DesktopLayoutCornerTopRight 
DesktopLayoutCornerBottomLeft 
DesktopLayoutCornerBottomRight 

Definition at line 728 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 
KeyboardMove 
MoveResizeCancel 

Definition at line 512 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. Note that this is very lowlevel and you most probably don't want to use this state.

Enumerator:
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.

Definition at line 533 of file netwm_def.h.

enum NET::Orientation

Orientation.

Enumerator:
OrientationHorizontal 
OrientationVertical 

Definition at line 720 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
Enumerator:
Supported 
ClientList 
ClientListStacking 
NumberOfDesktops 
DesktopGeometry 
DesktopViewport 
CurrentDesktop 
DesktopNames 
ActiveWindow 
WorkArea 
SupportingWMCheck 
VirtualRoots 
CloseWindow 
WMMoveResize 
WMName 
WMVisibleName 
WMDesktop 
WMWindowType 
WMState 
WMStrut 
WMIconGeometry 
WMIcon 
WMPid 
WMHandledIcons 
WMPing 
XAWMState 
WMFrameExtents 
WMIconName 
WMVisibleIconName 
WMGeometry 

Definition at line 608 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
  • WM2ShowingDesktop
  • WM2Opacity _NET_WM_WINDOW_OPACITY
  • WM2DesktopLayout _NET_DESKTOP_LAYOUT
  • WM2FullPlacement _NET_WM_FULL_PLACEMENT
  • WM2FullscreenMonitors _NET_WM_FULLSCREEN_MONITORS
Enumerator:
WM2UserTime 
WM2StartupId 
WM2TransientFor 
WM2GroupLeader 
WM2AllowedActions 
WM2RestackWindow 
WM2MoveResizeWindow 
WM2ExtendedStrut 
WM2TakeActivity 
WM2KDETemporaryRules 
WM2WindowClass 
WM2WindowRole 
WM2ClientMachine 
WM2ShowingDesktop 
WM2Opacity 
WM2DesktopLayout 
WM2FullPlacement 
WM2FullscreenMonitors 

Definition at line 671 of file netwm_def.h.

enum NET::RequestSource

Source of the request.

Enumerator:
FromUnknown 

For internal use only.

indicates that the source of the request is unknown

FromApplication  indicates that the request comes from a normal application
FromTool  indicated that the request comes from pager or similar tool

Definition at line 702 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).

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

Definition at line 290 of file netwm_def.h.

enum NET::State

Window state.

To set the state of a window, you'll typically do something like:

         KWindowSystem::setState( winId(), NET::SkipTaskbar | NET::SkipPager );

for example to not show the window on the taskbar and pager (alt-tab dialog). winId() is a function of QWidget()

Note that KeepAbove (StaysOnTop) and KeepBelow are meant as user preference and applications should avoid setting these states themselves.

Enumerator:
Modal  indicates 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.

MaxVert  indicates that the window is vertically maximized.
MaxHoriz  indicates that the window is horizontally maximized.
Max  convenience value.

Equal to MaxVert | MaxHoriz.

Shaded  indicates that the window is shaded (rolled-up).
SkipTaskbar  indicates that a window should not be included on a taskbar.
KeepAbove  indicates that a window should on top of most windows (but below fullscreen windows).
StaysOnTop 
Deprecated:
This is an obsolete name for KeepAbove.
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.
KeepBelow  indicates that a window should be below most windows (but above any desktop windows).
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.

Definition at line 425 of file netwm_def.h.

enum NET::WindowType

Window type.

Enumerator:
Unknown  indicates that the window did not define a window type.
Normal  indicates that this is a normal, top-level window
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
Toolbar  indicates a toolbar window
Menu  indicates a pinnable (torn-off) menu window
Dialog  indicates that this is a dialog window
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.

Utility  indicates a utility window
Splash  indicates that this window is a splash screen window.
DropdownMenu  indicates a dropdown menu (from a menubar typically)
PopupMenu  indicates a popup menu (a context menu typically)
Tooltip  indicates a tooltip window
Notification  indicates a notification window
ComboBox  indicates that the window is a list for a combobox
DNDIcon  indicates a window that represents the dragged object during DND operation

Definition at line 305 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.

Enumerator:
NormalMask 
See also:
Normal
DesktopMask 
See also:
Desktop
DockMask 
See also:
Dock
ToolbarMask 
See also:
Toolbar
MenuMask 
See also:
Menu
DialogMask 
See also:
Dialog
OverrideMask 
See also:
Override
TopMenuMask 
See also:
TopMenu
UtilityMask 
See also:
Utility
SplashMask 
See also:
Splash
DropdownMenuMask 
See also:
DropdownMenu
PopupMenuMask 
See also:
PopupMenu
TooltipMask 
See also:
Tooltip
NotificationMask 
See also:
Notification
ComboBoxMask 
See also:
ComboBox
DNDIconMask 
See also:
DNDIcon
AllTypesMask  All window types.

Definition at line 384 of file netwm_def.h.


Member Function Documentation

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.

Deprecated:
Moved to KXUtils namespace.

Definition at line 4491 of file netwm.cpp.

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().

Deprecated:
Moved to KXUtils namespace.

Definition at line 4496 of file netwm.cpp.

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

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

Definition at line 4352 of file netwm.cpp.


The documentation for this class was generated from the following files:
  • netwm_def.h
  • netwm.cpp

KDEUI

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

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.7
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