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

KDEUI

Public Types | Static Public Member Functions | List of all members
NET Class Reference

#include <netwm_def.h>

Inheritance diagram for NET:
Inheritance graph
[legend]

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, WM2FrameOverlap = 1<<18, WM2Activities = 1<<19,
  WM2BlockCompositing = 1<<20, WM2KDEShadow = 1<<21
}
 
enum  RequestSource { FromUnknown = 0, FromApplication = 1, FromTool = 2 }
 
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 704 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 736 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 728 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)
  • WMGeometry
  • WMFrameExtents
  • WMIconGeometry
  • WMIcon
  • WMIconName
  • WMVisibleIconName
  • WMHandledIcons
  • WMPid
  • WMPing

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 612 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 
WM2FrameOverlap 
WM2Activities 
WM2BlockCompositing 
WM2KDEShadow 

Definition at line 675 of file netwm_def.h.

enum NET::RequestSource

Source of the request.

Enumerator
FromUnknown 

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 710 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 desktop pager. 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 4735 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 4740 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 4575 of file netwm.cpp.


The documentation for this class was generated from the following files:
  • netwm_def.h
  • netwm.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:24:03 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDEUI

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

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal