KWinModule Class Reference

`#include <kwinmodule.h>`

Inherits QObject.

## Public Types

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

## Signals

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

## Public Member Functions

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

## Protected Member Functions

virtual void | connectNotify (const char *signal)

## Friends

class | KWinModulePrivate

## 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 (ettri.nosp@m.ch@k.nosp@m.de.or.nosp@m.g)

Definition at line 52 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

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,
|  | 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::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 | ) |

signal

The window changed somehow.

Parameters

  id | the id of the window

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

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

void KWinModule::workAreaChanged | ( |  | ) |

signal

The workarea has changed.

The documentation for this class was generated from the following file:

- kwinmodule.h

KDE Home | KDE Accessibility Home | Description of Access Keys