KDE 4.2 PyKDE API Reference
  • KDE's Python API
  • Overview
  • PyKDE Home
  • Sitemap
  • Contact Us
 

NETRootInfo Class Reference

from PyKDE4.kdeui import *

Inherits: NET

Detailed Description

Common API for root window properties/protocols.

The NETRootInfo class provides a common API for clients and window managers to set/read/change properties on the root window as defined by the NET Window Manager Specification..

Author:
Bradley T. Hughes <bhughes@trolltech.com>
See also:
NET
See also:
NETWinInfo


Enumerations

anonymous { PROTOCOLS, WINDOW_TYPES, STATES, PROTOCOLS2, ACTIONS, PROPERTIES_SIZE }

Methods

 __init__ (self, Display display, Window supportWindow, QString wmName, SIP_PYLIST properties, int screen=-1, bool doACtivate=1)
 __init__ (self, Display display, SIP_PYLIST properties, int screen=-1, bool doActivate=1)
 __init__ (self, Display display, long properties, int screen=-1, bool doActivate=1)
 __init__ (self, NETRootInfo rootinfo)
 activate (self)
Window activeWindow (self)
 addClient (self, Window window)
 changeActiveWindow (self, Window window, NET.RequestSource src, Time timestamp, Window active_window)
 changeCurrentDesktop (self, int desktop)
 changeDesktopGeometry (self, int desktop, NETSize geom)
 changeDesktopViewport (self, int desktop, NETPoint viewport)
 changeNumberOfDesktops (self, int numberOfDesktops)
 changeShowingDesktop (self, bool showing)
Window clientList (self)
int clientListCount (self)
Window clientListStacking (self)
int clientListStackingCount (self)
 closeWindow (self, Window window)
 closeWindowRequest (self, Window window)
int currentDesktop (self, bool ignore_viewport=0)
NETSize desktopGeometry (self, int desktop)
QSize desktopLayoutColumnsRows (self)
NET.DesktopLayoutCorner desktopLayoutCorner (self)
NET.Orientation desktopLayoutOrientation (self)
QString desktopName (self, int desktop)
NETPoint desktopViewport (self, int desktop)
 event (self, XEvent event, long properties, int properties_size)
long event (self, XEvent event)
 gotPing (self, Window window, Time timestamp)
 gotTakeActivity (self, Window window, Time timestamp, long flags)
bool isSupported (self, NET.Property property)
bool isSupported (self, NET.Property2 property)
bool isSupported (self, NET.WindowType type)
bool isSupported (self, NET.State state)
bool isSupported (self, NET.Action action)
 moveResize (self, Window window, int x_root, int y_root, long direction)
 moveResizeRequest (self, Window window, int x_root, int y_root, NET.Direction direction)
 moveResizeWindow (self, Window window, int flags, int x, int y, int width, int height)
 moveResizeWindowRequest (self, Window window, int flags, int x, int y, int width, int height)
int numberOfDesktops (self, bool ignore_viewport=0)
long passedProperties (self)
 removeClient (self, Window window)
 restackRequest (self, Window window, NET.RequestSource source, Window above, int detail, Time timestamp)
 restackWindow (self, Window window, NET.RequestSource source, Window above, int detail, Time timestamp)
Window rootWindow (self)
int screenNumber (self)
 sendPing (self, Window window, Time timestamp)
 setActiveWindow (self, Window window, NET.RequestSource src, Time timestamp, Window active_window)
 setActiveWindow (self, Window window)
 setClientList (self, Window windows, long count)
 setClientListStacking (self, Window windows, long count)
 setCurrentDesktop (self, int desktop, bool ignore_viewport=0)
 setDesktopGeometry (self, int desktop, NETSize geometry)
 setDesktopLayout (self, NET.Orientation orientation, int columns, int rows, NET.DesktopLayoutCorner corner)
 setDesktopName (self, int desktop, QString desktopName)
 setDesktopViewport (self, int desktop, NETPoint viewport)
 setNumberOfDesktops (self, int numberOfDesktops)
 setShowingDesktop (self, bool showing)
 setVirtualRoots (self, Window windows, long count)
 setWorkArea (self, int desktop, NETRect workArea)
bool showingDesktop (self)
Window supportWindow (self)
long supportedProperties (self)
 takeActivity (self, Window window, Time timestamp, long flags)
Window virtualRoots (self)
int virtualRootsCount (self)
 virtual_hook (self, int id, void data)
QString wmName (self)
NETRect workArea (self, int desktop)
Display x11Display (self)

Method Documentation

__init__ (  self,
Display  display,
Window  supportWindow,
QString  wmName,
SIP_PYLIST  properties,
int  screen=-1,
bool  doACtivate=1
)

Window Managers should use this constructor to create a NETRootInfo object, which will be used to set/update information stored on the rootWindow. The application role is automatically set to WindowManager when using this constructor.

Parameters:
display  An X11 Display struct.
supportWindow  The Window id of the supportWindow. The supportWindow must be created by the window manager as a child of the rootWindow. The supportWindow must not be destroyed until the Window Manager exits.
wmName  A string which should be the window manager's name (ie. "KWin" or "Blackbox").
properties  An array of elements listing all properties and protocols the window manager supports. The elements contain OR'ed values of constants from the NET base class, in the following order: [0]= NET.Property, [1]= NET.WindowTypeMask (not NET.WindowType!), [2]= NET.State, [3]= NET.Property2, [4]= NET.Action. In future versions, the list may be extended. In case you pass less elements, the missing ones will be replaced with default values.
properties_size  The number of elements in the properties array.
screen  For Window Managers that support multiple screen (ie. "multiheaded") displays, the screen number may be explicitly defined. If this argument is omitted, the default screen will be used.
doActivate  true to activate the window

__init__ (  self,
Display  display,
SIP_PYLIST  properties,
int  screen=-1,
bool  doActivate=1
)

Clients should use this constructor to create a NETRootInfo object, which will be used to query information set on the root window. The application role is automatically set to Client when using this constructor.

Parameters:
display  An X11 Display struct.
properties  An array of elements listing all protocols the client is interested in. The elements contain OR'ed values of constants from the NET base class, in the following order: [0]= NET.Property, [1]= NET.Property2.
properties_size  The number of elements in the properties array.
screen  For Clients that support multiple screen (ie. "multiheaded") displays, the screen number may be explicitly defined. If this argument is omitted, the default screen will be used.
doActivate  true to activate the window

__init__ (  self,
Display  display,
long  properties,
int  screen=-1,
bool  doActivate=1
)

This constructor differs from the above one only in the way it accepts the list of supported properties. The properties argument is equivalent to the first element of the properties array in the above constructor, and therefore you cannot read all root window properties using it.

__init__ (  self,
NETRootInfo  rootinfo
)

Creates a shared copy of the specified NETRootInfo object.

Parameters:
rootinfo  the NETRootInfo object to copy

activate (   self )

Window Managers must call this after creating the NETRootInfo object, and before using any other method in the class. This method sets initial data on the root window and does other post-construction duties.

Clients must also call this after creating the object to do an initial data read/update.

Window activeWindow (   self )

Returns the active (focused) window.

Returns:
the id of the active window

addClient (  self,
Window  window
)

A Client should subclass NETRootInfo and reimplement this function when it wants to know when a window has been added.

Parameters:
window  the id of the window to add

changeActiveWindow (  self,
Window  window,
NET.RequestSource  src,
Time  timestamp,
Window  active_window
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to change the active (focused) window.

Parameters:
window  the id of the window to activate
src  the source from which the request came
timestamp  the timestamp of the user action causing this request
active_window  active window of the requesting application, if any

changeCurrentDesktop (  self,
int  desktop
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to change the current desktop.

Parameters:
desktop  the number of the desktop

changeDesktopGeometry (  self,
int  desktop,
NETSize  geom
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to change the specified desktop geometry.

Parameters:
desktop  the number of the desktop
geom  the new size

changeDesktopViewport (  self,
int  desktop,
NETPoint  viewport
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to change the specified desktop viewport.

Parameters:
desktop  the number of the desktop
viewport  the new position of the viewport

changeNumberOfDesktops (  self,
int  numberOfDesktops
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to change the number of desktops.

Parameters:
numberOfDesktops  the new number of desktops

changeShowingDesktop (  self,
bool  showing
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a pager made a request to change showing the desktop. See _NET_SHOWING_DESKTOP for details.

Parameters:
showing  whether to activate the showing desktop mode

Window clientList (   self )

Returns an array of Window id's, which contain all managed windows.

Returns:
the array of Window id's

See also:
clientListCount()

int clientListCount (   self )

Returns the number of managed windows in clientList array.

Returns:
the number of managed windows in the clientList array

See also:
clientList()

Window clientListStacking (   self )

Returns an array of Window id's, which contain all managed windows in stacking order.

Returns:
the array of Window id's in stacking order

See also:
clientListStackingCount()

int clientListStackingCount (   self )

Returns the number of managed windows in the clientListStacking array.

Returns:
the number of Window id's in the client list

See also:
clientListStacking()

closeWindow (  self,
Window  window
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to close a window.

Parameters:
window  the id of the window to close

closeWindowRequest (  self,
Window  window
)

Clients (such as pagers/taskbars) that wish to close a window should call this function. This will send a request to the Window Manager, which usually can usually decide how to react to such requests.

Parameters:
window  the id of the window to close

int currentDesktop (  self,
bool  ignore_viewport=0
)

Returns the current desktop.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. They are however mapped to virtual desktops if needed.

Parameters:
ignore_viewport  if false, viewport is mapped to virtual desktops

Returns:
the number of the current desktop

NETSize desktopGeometry (  self,
int  desktop
)

Returns the desktop geometry size.

The desktop argument is ignored. Early drafts of the NET WM Specification were unclear about the semantics of this property.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. You should use calls for virtual desktops, viewport is mapped to them if needed.

Parameters:
desktop  the number of the desktop

Returns:
the size of the desktop

QSize desktopLayoutColumnsRows (   self )

Returns the desktop layout number of columns and rows. Note that either may be 0 (see _NET_DESKTOP_LAYOUT).

NET.DesktopLayoutCorner desktopLayoutCorner (   self )

Returns the desktop layout starting corner.

NET.Orientation desktopLayoutOrientation (   self )

Returns the desktop layout orientation.

QString desktopName (  self,
int  desktop
)

Returns the name for the specified desktop.

Parameters:
desktop  the number of the desktop

Returns:
the name of the desktop

NETPoint desktopViewport (  self,
int  desktop
)

Returns the viewport of the specified desktop.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. You should use calls for virtual desktops, viewport is mapped to them if needed.

Parameters:
desktop  the number of the desktop

Returns:
the position of the desktop's viewport

event (  self,
XEvent  event,
long  properties,
int  properties_size
)

This function takes the passed XEvent and returns an OR'ed list of NETRootInfo properties that have changed in the properties argument. The new information will be read immediately by the class. The elements of the properties argument are as they would be passed to the constructor, if the array is not large enough, changed properties that don't fit in it won't be listed there (they'll be updated in the class though).

Parameters:
event  the event
properties  properties that changed
properties_size  size of the passed properties array

long event (  self,
XEvent  event
)

This function takes the passed XEvent and returns an OR'ed list of NETRootInfo properties that have changed. The new information will be read immediately by the class. This overloaded version returns only a single mask, and therefore cannot check state of all properties like the other variant.

Parameters:
event  the event

Returns:
the properties

gotPing (  self,
Window  window,
Time  timestamp
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to receive replies to the _NET_WM_PING protocol.

Parameters:
window  the window from which the reply came
timestamp  timestamp of the ping

gotTakeActivity (  self,
Window  window,
Time  timestamp,
long  flags
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to receive replies to the _NET_WM_TAKE_ACTIVITY protocol.

Parameters:
window  the window from which the reply came
timestamp  timestamp of the ping
flags  flags passed in the original message

bool isSupported (  self,
NET.Property  property
)

Returns true if the given property is supported by the window manager. Note that for Client mode, NET.Supported needs to be passed in the properties argument for this to work.

bool isSupported (  self,
NET.Property2  property
)

bool isSupported (  self,
NET.WindowType  type
)

bool isSupported (  self,
NET.State  state
)

bool isSupported (  self,
NET.Action  action
)

moveResize (  self,
Window  window,
int  x_root,
int  y_root,
long  direction
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to start a move/resize.

Parameters:
window  The window that wants to move/resize
x_root  X position of the cursor relative to the root window.
y_root  Y position of the cursor relative to the root window.
direction  One of NET.Direction (see base class documentation for a description of the different directions).

moveResizeRequest (  self,
Window  window,
int  x_root,
int  y_root,
NET.Direction  direction
)

Clients (such as pagers/taskbars) that wish to start a WMMoveResize (where the window manager controls the resize/movement, i.e. _NET_WM_MOVERESIZE) should call this function. This will send a request to the Window Manager.

Parameters:
window  The client window that would be resized/moved.
x_root  X position of the cursor relative to the root window.
y_root  Y position of the cursor relative to the root window.
direction  One of NET.Direction (see base class documentation for a description of the different directions).

moveResizeWindow (  self,
Window  window,
int  flags,
int  x,
int  y,
int  width,
int  height
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a pager made a request to move/resize a window. See _NET_MOVERESIZE_WINDOW for details.

Parameters:
window  the id of the window to more/resize
flags  Flags specifying the operation (see _NET_MOVERESIZE_WINDOW description)
x  Requested X position for the window
y  Requested Y position for the window
width  Requested width for the window
height  Requested height for the window

moveResizeWindowRequest (  self,
Window  window,
int  flags,
int  x,
int  y,
int  width,
int  height
)

Clients (such as pagers/taskbars) that wish to move/resize a window using WM2MoveResizeWindow (_NET_MOVERESIZE_WINDOW) should call this function. This will send a request to the Window Manager. See _NET_MOVERESIZE_WINDOW description for details.

Parameters:
window  The client window that would be resized/moved.
flags  Flags specifying the operation (see _NET_MOVERESIZE_WINDOW description)
x  Requested X position for the window
y  Requested Y position for the window
width  Requested width for the window
height  Requested height for the window

int numberOfDesktops (  self,
bool  ignore_viewport=0
)

Returns the number of desktops.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. They are however mapped to virtual desktops if needed.

Parameters:
ignore_viewport  if false, viewport is mapped to virtual desktops

Returns:
the number of desktops

long passedProperties (   self )

Returns the properties argument passed to the constructor. The size is the maximum array size the constructor accepts.

removeClient (  self,
Window  window
)

A Client should subclass NETRootInfo and reimplement this function when it wants to know when a window has been removed.

Parameters:
window  the id of the window to remove

restackRequest (  self,
Window  window,
NET.RequestSource  source,
Window  above,
int  detail,
Time  timestamp
)

Sends the _NET_RESTACK_WINDOW request.

restackWindow (  self,
Window  window,
NET.RequestSource  source,
Window  above,
int  detail,
Time  timestamp
)

A Window Manager should subclass NETRootInfo and reimplement this function when it wants to know when a Client made a request to restack a window. See _NET_RESTACK_WINDOW for details.

Parameters:
window  the id of the window to restack
source  the source of the request
above  other window in the restack request
detail  restack detail
timestamp  the timestamp of the request

Window rootWindow (   self )

Returns the Window id of the rootWindow.

Returns:
the id of the root window

int screenNumber (   self )

Returns the screenNumber.

Returns:
the screen number

sendPing (  self,
Window  window,
Time  timestamp
)

Sends a ping with the given timestamp to the window, using the _NET_WM_PING protocol.

setActiveWindow (  self,
Window  window,
NET.RequestSource  src,
Time  timestamp,
Window  active_window
)

Requests that the specified window becomes the active (focused) one.

Parameters:
window  the id of the new active window
src  whether the request comes from normal application or from a pager or similar tool
timestamp  X server timestamp of the user action that caused the request
active_window  active window of the requesting application, if any

setActiveWindow (  self,
Window  window
)

Sets the active (focused) window the specified window. This should be used only in the window manager mode.

Parameters:
window  the if of the new active window

setClientList (  self,
Window  windows,
long  count
)

Sets the list of managed windows on the Root/Desktop window.

Parameters:
windows  The array of Window id's
count  The number of windows in the array

setClientListStacking (  self,
Window  windows,
long  count
)

Sets the list of managed windows in stacking order on the Root/Desktop window.

Parameters:
windows  The array of Window id's
count  The number of windows in the array.

setCurrentDesktop (  self,
int  desktop,
bool  ignore_viewport=0
)

Sets the current desktop to the specified desktop.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. It is however mapped to virtual desktops if needed.

Parameters:
desktop  the number of the desktop
ignore_viewport  if false, viewport is mapped to virtual desktops

setDesktopGeometry (  self,
int  desktop,
NETSize  geometry
)

Sets the desktop geometry to the specified geometry.

The desktop argument is ignored. Early drafts of the NET WM Specification were unclear about the semantics of this property.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. You should use calls for virtual desktops, viewport is mapped to them if needed.

Parameters:
desktop  the number of the desktop
geometry  the new size of the desktop

setDesktopLayout (  self,
NET.Orientation  orientation,
int  columns,
int  rows,
NET.DesktopLayoutCorner  corner
)

Sets the desktop layout. This is set by the pager. When setting, the pager must own the _NET_DESKTOP_LAYOUT_Sn manager selection. See _NET_DESKTOP_LAYOUT for details.

setDesktopName (  self,
int  desktop,
QString  desktopName
)

Sets the name of the specified desktop.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. Viewport is mapped to virtual desktops if needed, but not for this call.

Parameters:
desktop  the number of the desktop
desktopName  the new name of the desktop

setDesktopViewport (  self,
int  desktop,
NETPoint  viewport
)

Sets the viewport for the current desktop to the specified point.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. You should use calls for virtual desktops, viewport is mapped to them if needed.

Parameters:
desktop  the number of the desktop
viewport  the new position of the desktop's viewport

setNumberOfDesktops (  self,
int  numberOfDesktops
)

Sets the number of desktops to the specified number.

NOTE: KDE uses virtual desktops and does not directly support viewport in any way. Viewport is mapped to virtual desktops if needed, but not for this call.

Parameters:
numberOfDesktops  the number of desktops

setShowingDesktop (  self,
bool  showing
)

Sets the _NET_SHOWING_DESKTOP status (whether desktop is being shown).

setVirtualRoots (  self,
Window  windows,
long  count
)

Sets the list of virtual root windows on the root window.

Parameters:
windows  The array of Window id's
count  The number of windows in the array.

setWorkArea (  self,
int  desktop,
NETRect  workArea
)

Sets the workarea for the specified desktop

Parameters:
desktop  the number of the desktop
workArea  the new work area of the desktop

bool showingDesktop (   self )

Returns the status of _NET_SHOWING_DESKTOP.

Window supportWindow (   self )

Returns the Window id of the supportWindow.

Returns:
the id of the support window

long supportedProperties (   self )

In the Window Manager mode, this is equivalent to the properties argument passed to the constructor. In the Client mode, if NET.Supported was passed in the properties argument, the returned value is array of all protocols and properties supported by the Window Manager. The elements of the array are the same as they would be passed to the Window Manager mode constructor, the size is the maximum array size the constructor accepts.

takeActivity (  self,
Window  window,
Time  timestamp,
long  flags
)

Sends a take activity message with the given timestamp to the window, using the _NET_WM_TAKE_ACTIVITY protocol (see the WM spec for details).

Parameters:
window  the window to which the message should be sent
timestamp  timestamp of the message
flags  arbitrary flags

Window virtualRoots (   self )

Returns an array of Window id's, which contain the virtual root windows.

Returns:
the array of Window id's

See also:
virtualRootsCount()

int virtualRootsCount (   self )

Returns the number of window in the virtualRoots array.

Returns:
the number of Window id's in the virtual root array

See also:
virtualRoots()

virtual_hook (  self,
int  id,
void  data
)

Virtual hook, used to add new "virtual" functions while maintaining binary compatibility. Unused in this class.

QString wmName (   self )

Returns the name of the Window Manager.

Returns:
the name of the window manager

NETRect workArea (  self,
int  desktop
)

Returns the workArea for the specified desktop.

Parameters:
desktop  the number of the desktop

Returns:
the size of the work area

Display x11Display (   self )

Returns the X11 Display struct used.

Returns:
the X11 Display


Enumeration Documentation

anonymous

Indexes for the properties array.

Enumerator:
PROTOCOLS 
WINDOW_TYPES 
STATES 
PROTOCOLS2 
ACTIONS 
PROPERTIES_SIZE 

  • Full Index

Modules

  • akonadi
  • dnssd
  • kdecore
  • kdeui
  • khtml
  • kio
  • knewstuff
  • kparts
  • kutils
  • nepomuk
  • phonon
  • plasma
  • solid
  • soprano
This documentation is maintained by Simon Edwards.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal