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

KDECore

KWinModule Class Reference

The class KWinModule provides information about the state of the window manager as required by windowmanager modules. More...

#include <kwinmodule.h>

Inheritance diagram for KWinModule:

Inheritance graph
[legend]

List of all members.


Public Types

enum  { INFO_DESKTOP = 1, INFO_WINDOWS = 2, INFO_ALL = 32767 }

Signals

void activeWindowChanged (WId id)
void currentDesktopChanged (int desktop)
void currentDesktopViewportChanged (int desktop, const QPoint &viewport)
void desktopGeometryChanged (int desktop)
void desktopNamesChanged ()
void numberOfDesktopsChanged (int num)
void showingDesktopChanged (bool showing)
void stackingOrderChanged ()
void strutChanged ()
void systemTrayWindowAdded (WId id)
void systemTrayWindowRemoved (WId id)
void windowAdded (WId id)
void windowChanged (WId id)
void windowChanged (WId id, unsigned int properties)
void windowChanged (WId id, const unsigned long *properties)
void windowRemoved (WId id)
void workAreaChanged ()

Public Member Functions

WId activeWindow () const
int currentDesktop () const
QPoint currentViewport (int desktop) const
QString desktopName (int desktop) const
void doNotManage (const QString &title)
bool hasWId (WId id) const
 KWinModule (QObject *parent=0)
 KWinModule (QObject *parent, int what)
int numberOfDesktops () const
QSize numberOfViewports (int desktop) const
void setDesktopName (int desktop, const QString &name)
bool showingDesktop () const
const QValueList< WId > & stackingOrder () const
const QValueList< WId > & systemTrayWindows () const
const QValueList< WId > & windows () const
QRect workArea (const QValueList< WId > &excludes, int desktop=-1) const
QRect workArea (int desktop=-1) const
 ~KWinModule ()

Protected Member Functions

virtual void connectNotify (const char *signal)

Detailed Description

The class KWinModule provides information about the state of the window manager as required by windowmanager modules.

It informs a module about all currently managed windows and changes to them (via Qt signals).

KWinModule uses NETRootInfo internally. Modules written with this class will work fine under any window manager that implements the NET_WM protocol.

There are no methods to manipulate windows. Those are defined in the classes KWin, NETWinInfo and NETRootInfo.

Base class for KDE Window Manager modules.

Author:
Matthias Ettrich (ettrich@kde.org)

Definition at line 52 of file kwinmodule.h.


Member Enumeration Documentation

anonymous enum

Enumerator:
INFO_DESKTOP 
INFO_WINDOWS 
INFO_ALL 

Definition at line 58 of file kwinmodule.h.


Constructor & Destructor Documentation

KWinModule::KWinModule ( QObject *  parent,
int  what 
)

Creates a KWinModule object and connects to the window manager.

Parameters:
parent the parent for the QObject
what The information you are interested in: INFO_DESKTOP: currentDesktop, numberOfDesktops, desktopName, currentDesktopChanged, numberOfDesktopsChanged, desktopNameChanged, activeWindow, activeWindowChanged, workArea(int desktop), workAreaChanged
INFO_WINDOWS: windows, windowAdded, windowRemoved, stackingOrder, systemTrayWindows, systemTrayWindowAdded, systemTrayWindowRemoved, windowChanged, strutChanged, workArea(const QValueList<WId> &excludes, int desktop)

KWinModule::KWinModule ( QObject *  parent = 0  ) 

Creates a KWinModule object and connects to the window manager.

Parameters:
parent the parent for the QObject

KWinModule::~KWinModule (  ) 

Destructor.

Internal cleanup, nothing fancy.


Member Function Documentation

WId KWinModule::activeWindow (  )  const

Returns the currently active window, or 0 if no window is active.

Returns:
the window id of the active window, or 0 if no window is active

void KWinModule::activeWindowChanged ( WId  id  )  [signal]

Hint that <Window> is active (= has focus) now.

Parameters:
id the id of the window that is active

virtual void KWinModule::connectNotify ( const char *  signal  )  [protected, virtual]

Reimplemented from QObject.

int KWinModule::currentDesktop (  )  const

Returns the current virtual desktop.

Returns:
the current virtual desktop

void KWinModule::currentDesktopChanged ( int  desktop  )  [signal]

Switched to another virtual desktop.

Parameters:
desktop the number of the new desktop

void KWinModule::currentDesktopViewportChanged ( int  desktop,
const QPoint &  viewport 
) [signal]

The viewport position has changed.

Since:
3.5

QPoint KWinModule::currentViewport ( int  desktop  )  const

Returns the current viewport on the given virtual desktop.

Returns:
the number of virtual desktops
Since:
3.5.5

void KWinModule::desktopGeometryChanged ( int  desktop  )  [signal]

The state of showing the desktop has changed.

Since:
3.5.5

QString KWinModule::desktopName ( int  desktop  )  const

Returns the name of the specified desktop.

Parameters:
desktop the number of the desktop
Returns:
the name of the desktop

void KWinModule::desktopNamesChanged (  )  [signal]

Desktops have been renamed.

void KWinModule::doNotManage ( const QString &  title  ) 

Informs kwin via dcop to not manage a window with the specified title.

Useful for swallowing legacy applications, for example java applets.

Parameters:
title the title of the window

bool KWinModule::hasWId ( WId  id  )  const

Test to see if id still managed at present.

Parameters:
id the window id to test
Returns:
true if the window id is still managed

int KWinModule::numberOfDesktops (  )  const

Returns the number of virtual desktops.

Returns:
the number of virtual desktops

void KWinModule::numberOfDesktopsChanged ( int  num  )  [signal]

The number of desktops changed.

Parameters:
num the new number of desktops

QSize KWinModule::numberOfViewports ( int  desktop  )  const

Returns the number of viewports in x and y direction on the virtual desktop.

Returns:
the number of virtual desktops
Since:
3.5.5

void KWinModule::setDesktopName ( int  desktop,
const QString &  name 
)

Sets the name of the specified desktop.

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

bool KWinModule::showingDesktop (  )  const

Returns the state of showing the desktop.

Since:
3.5

void KWinModule::showingDesktopChanged ( bool  showing  )  [signal]

The state of showing the desktop has changed.

Since:
3.5

const QValueList<WId>& KWinModule::stackingOrder (  )  const

Returns the list of all toplevel windows currently managed by the window manager in the current stacking order (from lower to higher).

May be useful for pagers.

Returns:
the list of all toplevel windows in stacking order

void KWinModule::stackingOrderChanged (  )  [signal]

Emitted when the stacking order of the window changed.

The new order can be obtained with stackingOrder().

void KWinModule::strutChanged (  )  [signal]

Something changed with the struts, may or may not have changed the work area.

Usually just using the workAreaChanged() signal is sufficient.

void KWinModule::systemTrayWindowAdded ( WId  id  )  [signal]

Emitted when a dock window has been added.

Parameters:
id the id of the new system tray window

void KWinModule::systemTrayWindowRemoved ( WId  id  )  [signal]

Emitted when a dock window has been removed.

Parameters:
id the id of the former system tray window

const QValueList<WId>& KWinModule::systemTrayWindows (  )  const

Returns a list of the system tray windows.

Returns:
a list of all system tray windows

void KWinModule::windowAdded ( WId  id  )  [signal]

A window has been added.

Parameters:
id the id of the the window

void KWinModule::windowChanged ( WId  id  )  [signal]

The window changed somehow.

Parameters:
id the id of the window

void KWinModule::windowChanged ( WId  id,
unsigned int  properties 
) [signal]

Deprecated:
The window changed.
The unsigned int parameter contains the NET properties that were modified (see netwm_def.h).
Parameters:
id the id of the window
properties the properties that were modified

void KWinModule::windowChanged ( WId  id,
const unsigned long *  properties 
) [signal]

The window changed.

The properties parameter contains the NET properties that were modified (see netwm_def.h). First element are NET::Property values, second element are NET::Property2 values (i.e. the format is the same like for the NETWinInfo class constructor).

Parameters:
id the id of the window
properties the properties that were modified

void KWinModule::windowRemoved ( WId  id  )  [signal]

A window has been removed.

Parameters:
id the id of the window that has been removed

const QValueList<WId>& KWinModule::windows (  )  const

Returns the list of all toplevel windows currently managed by the window manager in the order of creation.

Please do not rely on indexes of this list: Whenever you enter Qt's event loop in your application, it may happen that entries are removed or added. Your module should perhaps work on a copy of this list and verify a window with hasWId() before any operations.

Iteration over this list can be done easily with

  QValueList<WId>::ConstIterator it;
  for ( it = module->windows().begin();
        it != modules->windows().end(); ++it ) {
     ... do something here,  (*it) is the current WId.
       }
Returns:
the list of all toplevel windows

QRect KWinModule::workArea ( const QValueList< WId > &  excludes,
int  desktop = -1 
) const

Returns the workarea for the specified desktop, or the current work area if no desktop has been specified.

Excludes struts of clients in the exclude List.

Parameters:
excludes the list of clients whose struts will be excluded
desktop the number of the desktop to check, -1 for the current desktop
Returns:
the size and position of the desktop

QRect KWinModule::workArea ( int  desktop = -1  )  const

Returns the workarea for the specified desktop, or the current work area if no desktop has been specified.

Parameters:
desktop the number of the desktop to check, -1 for the current desktop
Returns:
the size and position of the desktop

void KWinModule::workAreaChanged (  )  [signal]

The workarea has changed.


The documentation for this class was generated from the following file:
  • kwinmodule.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