KWin Class Reference

`#include <kwin.h>`

## Classes

struct | Info
class | WindowInfo

## Public Types

enum | IconSource { NETWM = 1, WMHints = 2, ClassHint = 4, XApp = 8 }

## Static Public Member Functions

static void | activateWindow (WId win, long time=0)
static void | forceActiveWindow (WId win, long time=0)
static void | setActiveWindow (WId win) KDE_DEPRECATED
static void | demandAttention (WId win, bool set=true)
static void | setUserTime (WId win, long time)
static void | invokeContextHelp ()
static void | setMainWindow (QWidget *subwindow, WId mainwindow)
static void | setSystemTrayWindowFor (WId trayWin, WId forWin)
static WindowInfo | windowInfo (WId win, unsigned long properties=0, unsigned long properties2=0)
static WId | transientFor (WId window)
static WId | groupLeader (WId window)
static QPixmap | icon (WId win, int width=-1, int height=-1, bool scale=false)
static QPixmap | icon (WId win, int width, int height, bool scale, int flags)
static void | setIcons (WId win, const QPixmap &icon, const QPixmap &miniIcon)
static void | setType (WId win, NET::WindowType windowType)
static void | setState (WId win, unsigned long state)
static void | clearState (WId win, unsigned long state)
static void | setOpacity (WId win, uint percent)
static void | setShadowSize (WId win, uint percent)
static void | setOnAllDesktops (WId win, bool b)
static void | setOnDesktop (WId win, int desktop)
static void | setExtendedStrut (WId win, int left_width, int left_start, int left_end, int right_width, int right_start, int right_end, int top_width, int top_start, int top_end, int bottom_width, int bottom_start, int bottom_end)
static void | setStrut (WId win, int left, int right, int top, int bottom)
static int | currentDesktop ()
static int | numberOfDesktops ()
static void | setCurrentDesktop (int desktop)
static void | setCurrentDesktopViewport (int desktop, QPoint viewport)
static void | iconifyWindow (WId win, bool animation=true)
static void | deIconifyWindow (WId win, bool animation=true)
static void | raiseWindow (WId win)
static void | lowerWindow (WId win)
static bool | icccmCompliantMappingState ()
static bool | allowedActionsSupported ()
static QString | readNameProperty (WId window, unsigned long atom)
static bool | compositingActive ()
static Info | info (WId win) KDE_DEPRECATED
static void | appStarted () KDE_DEPRECATED

## Detailed Description

Convenience access to certain properties and features of the window manager.

This class is not supposed to be instantiated. It exists mostly as a namespace for the static member functions.

In KDE 2 and KDE 3, communication with the windowmanager is done with the NET-protocol, a common window manager specification designed by various authors of X11 window managers (including those of the KDE project). The full specification can be found at www.freedesktop.org/standards/wm-spec .

To access features of the NET-protocol, use the classes NETRootInfo and NETWinInfo.

The purpose of this class is to to provide easy access to the most-commonly used NET-features with a simpler, KDEish interface.

In addition, it encapsulates KDE functionality not yet provided by the NET hints. Currently that is invokeContextHelp() and setSystemTrayWindowFor() only.

Class for interaction with the window manager.

See also
  NET
  NetWinInfo

Author
  Matthias Ettrich (ettri.nosp@m.ch@k.nosp@m.de.or.nosp@m.g)

Definition at line 61 of file kwin.h.

## Member Enumeration Documentation

enum KWin::IconSource

Masks specifying from which sources to read an icon.

They are tried from the best until an icon is found.

- NETWM from property from the window manager specification
- WMHints from WMHints property
- ClassHint load icon after getting name from the classhint
- XApp load the standard X icon (last fallback)

Enumerator
NETWM | read from property from the window manager specification
WMHints | read from WMHints property
ClassHint | load icon after getting name from the classhint
XApp | load the standard X icon (last fallback)

Definition at line 231 of file kwin.h.

## Member Function Documentation

void KWin::activateWindow | ( | WId | win,
|  | long | time = `0`
| ) |  |

static

Requests that window `win` is activated.

There are two ways how to activate a window, by calling activateWindow() and forceActiveWindow(). Generally, applications shouldn't make attempts to explicitly activate their windows, and instead let the user to activate them. In the special cases where this may be needed, applications should use activateWindow(). Window manager may consider whether this request wouldn't result in focus stealing, which would be obtrusive, and may refuse the request.

The usage of forceActiveWindow() is meant only for pagers and similar tools, which represent direct user actions related to window manipulation. Except for rare cases, this request will be always honored, and normal applications are forbidden to use it.

In case of problems, consult the KWin README in the kdebase package (kdebase/kwin/README), or ask on the kwin@.nosp@m.kde..nosp@m.org mailing list.

Parameters

  win | the id of the window to make active
  time | X server timestamp of the user activity that caused this request

Since
  3.2

Definition at line 239 of file kwin.cpp.

bool KWin::allowedActionsSupported | ( |  | ) |

static

Returns true if the WM announces which actions it allows for windows.

Since
  3.2

Definition at line 1225 of file kwin.cpp.

void KWin::appStarted | ( |  | ) |

static

Deprecated:
  Use KStartupInfo::appStarted

Definition at line 733 of file kwin.cpp.

void KWin::clearState | ( | WId | win,
|  | unsigned long | state
| ) |  |

static

Clears the state of window `win` from `state`.

Possible values are or'ed combinations of NET::Modal, NET::Sticky, NET::MaxVert, NET::MaxHoriz, NET::Shaded, NET::SkipTaskbar, NET::SkipPager, NET::Hidden, NET::FullScreen, NET::KeepAbove, NET::KeepBelow, NET::StaysOnTop

Parameters

  win | the id of the window
  state | the flags that will be cleared

Definition at line 555 of file kwin.cpp.

bool KWin::compositingActive | ( |  | ) |

static

Returns true if a compositing manager is running (i.e.

ARGB windows are supported, effects will be provided, etc.).

Definition at line 148 of file kwin.cpp.

int KWin::currentDesktop | ( |  | ) |

static

Convenience function to access the current desktop.

See NETRootInfo.

Returns
  the number of the current desktop

Definition at line 643 of file kwin.cpp.

void KWin::deIconifyWindow | ( | WId | win,
|  | bool | animation = `true`
| ) |  |

static

DeIconifies a window.

Compatible to XMapWindow but has an additional parameter `animation`.

Parameters

  win | the id of the window
  animation | true to show an animation

See also
  iconifyWindow()

Definition at line 699 of file kwin.cpp.

void KWin::demandAttention | ( | WId | win,
|  | bool | set = `true`
| ) |  |

static

When application finishes some operation and wants to notify the user about it, it can call demandAttention().

Instead of activating the window, which could be obtrusive, the window will be marked specially as demanding user's attention. See also explanation in description of activateWindow().

Note that it's usually better to use KNotifyClient.

Since
  3.2

Definition at line 271 of file kwin.cpp.

void KWin::forceActiveWindow | ( | WId | win,
|  | long | time = `0`
| ) |  |

static

Sets window `win` to be the active window.

Note that this should be called only in special cases, applications shouldn't force themselves or other windows to be the active window. Generally, this call should used only by pagers and similar tools. See the explanation in description of activateWindow().

Parameters

  win | the id of the window to make active
  time | X server timestamp of the user activity that caused this request

Since
  3.2

Definition at line 251 of file kwin.cpp.

WId KWin::groupLeader | ( | WId | window | ) |

static

Returns the leader window for the group the given window is in, if any.

Parameters

  window | the id of the window

Since
  3.2

Definition at line 329 of file kwin.cpp.

QPixmap KWin::icon | ( | WId | win,
|  | int | width = `-1`,
|  | int | height = `-1`,
|  | bool | scale = `false`
| ) |  |

static

Returns an icon for window `win`.

If `width` and `height` are specified, the best icon for the requested size is returned.

If `scale` is true, the icon is smooth-scaled to have exactly the requested size.

Parameters

  win | the id of the window
  width | the desired width, or -1
  height | the desired height, or -1
  scale | if true the icon will be scaled to the desired size. Otherwise the icon will not be modified.

Returns
  the icon of the window

Definition at line 395 of file kwin.cpp.

QPixmap KWin::icon | ( | WId | win,
|  | int | width,
|  | int | height,
|  | bool | scale,
|  | int | flags
| ) |  |

static

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.Overloaded variant that allows specifying from which sources the icon should be read.

You should usually prefer the simpler variant which tries all possibilities to get an icon.

Parameters

  win | the id of the window
  width | the desired width, or -1
  height | the desired height, or -1
  scale | if true the icon will be scaled to the desired size. Otherwise the icon will not be modified.
  flags | OR-ed flags from the IconSource enum

Since
  3.2

Definition at line 401 of file kwin.cpp.

void KWin::iconifyWindow | ( | WId | win,
|  | bool | animation = `true`
| ) |  |

static

Iconifies a window.

Compatible to XIconifyWindow but has an additional parameter `animation`.

Parameters

  win | the id of the window
  animation | true to show an animation

See also
  deIconifyWindow()

Definition at line 686 of file kwin.cpp.

KWin::Info KWin::info | ( | WId | win | ) |

static

Deprecated:
  Use windowInfo() .

Definition at line 349 of file kwin.cpp.

void KWin::invokeContextHelp | ( |  | ) |

static

Invokes interactive context help.

Definition at line 216 of file kwin.cpp.

void KWin::lowerWindow | ( | WId | win | ) |

static

Lowers the given window.

This call is only for pagers and similar tools that represent direct user actions. Applications should not use it, they should keep using QWidget::lower() or XLowerWindow() if necessary.

Since
  3.2

Definition at line 722 of file kwin.cpp.

int KWin::numberOfDesktops | ( |  | ) |

static

Convenience function to access the number of desktops.

See NETRootInfo.

Returns
  the number of desktops

Definition at line 655 of file kwin.cpp.

void KWin::raiseWindow | ( | WId | win | ) |

static

Raises the given window.

This call is only for pagers and similar tools that represent direct user actions. Applications should not use it, they should keep using QWidget::raise() or XRaiseWindow() if necessary.

Since
  3.2

Definition at line 711 of file kwin.cpp.

QString KWin::readNameProperty | ( | WId | window,
|  | unsigned long | atom
| ) |  |

static

Function that reads and returns the contents of the given text property (WM_NAME, WM_ICON_NAME,...).

Since
  3.2

Definition at line 1239 of file kwin.cpp.

void KWin::setActiveWindow | ( | WId | win | ) |

static

Deprecated:
  Consider using activateWindow(), use forceActiveWindow() only if necessary.

Definition at line 262 of file kwin.cpp.

void KWin::setCurrentDesktop | ( | int | desktop | ) |

static

Convenience function to set the current desktop to `desktop`.

See NETRootInfo.

Parameters

  desktop | the number of the new desktop

Definition at line 667 of file kwin.cpp.

void KWin::setCurrentDesktopViewport | ( | int | desktop,
|  | QPoint | viewport
| ) |  |

static

Convenience function to set the current viewport to `viewport`.

See NETRootInfo.

Parameters

  desktop | the number of the new desktop
  viewport | the position of the new viewport

Since
  3.5.5

Definition at line 675 of file kwin.cpp.

void KWin::setExtendedStrut | ( | WId | win,
|  | int | left_width,
|  | int | left_start,
|  | int | left_end,
|  | int | right_width,
|  | int | right_start,
|  | int | right_end,
|  | int | top_width,
|  | int | top_start,
|  | int | top_end,
|  | int | bottom_width,
|  | int | bottom_start,
|  | int | bottom_end
| ) |  |

static

Sets the strut of window `win` to `to` `left` width ranging from `left_start` to `left_end` on the left edge, and simiarly for the other edges.

For not reserving a strut, pass 0 as the width. E.g. to reserve 10x10 square in the topleft corner, use e.g. setExtendedStrut( w, 10, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0 ).

Parameters

  win | the id of the window
  left_width | width of the strut at the left edge
  left_start | starting y coordinate of the strut at the left edge
  left_end | ending y coordinate of the strut at the left edge
  right_width | width of the strut at the right edge
  right_start | starting y coordinate of the strut at the right edge
  right_end | ending y coordinate of the strut at the right edge
  top_width | width of the strut at the top edge
  top_start | starting x coordinate of the strut at the top edge
  top_end | ending x coordinate of the strut at the top edge
  bottom_width | width of the strut at the bottom edge
  bottom_start | starting x coordinate of the strut at the bottom edge
  bottom_end | ending x coordinate of the strut at the bottom edge

Definition at line 607 of file kwin.cpp.

void KWin::setIcons | ( | WId | win,
|  | const QPixmap & | icon,
|  | const QPixmap & | miniIcon
| ) |  |

static

Sets an `icon` and a `miniIcon` on window `win`.

Parameters

  win | the id of the window
  icon | the new icon
  miniIcon | the new mini icon

Definition at line 517 of file kwin.cpp.

void KWin::setMainWindow | ( | QWidget * | subwindow,
|  | WId | mainwindow
| ) |  |

static

Sets the parent window of `subwindow` to be `mainwindow`.

This overrides the parent set the usual way as the QWidget parent, but only for the window manager - e.g. stacking order and window grouping will be affected, but features like automatic deletion of children when the parent is deleted are unaffected and normally use the QWidget parent.

This function should be used before a dialog is shown for a window that belongs to another application.

Since
  3.4

Definition at line 307 of file kwin.cpp.

void KWin::setOnAllDesktops | ( | WId | win,
|  | bool | b
| ) |  |

static

Sets window `win` to be present on all virtual desktops if `is` true.

Otherwise the window lives only on one single desktop.

Parameters

  win | the id of the window
  b | true to show the window on all desktops, false otherwise

Definition at line 586 of file kwin.cpp.

void KWin::setOnDesktop | ( | WId | win,
|  | int | desktop
| ) |  |

static

Moves window `win` to desktop `desktop`.

Parameters

  win | the id of the window
  desktop | the number of the new desktop

Definition at line 599 of file kwin.cpp.

void KWin::setOpacity | ( | WId | win,
|  | uint | percent
| ) |  |

static

Sets the opacity of window `win` to percetage `percent`.

Convenience function that just sets an X property needs a running composite manager for any visible effect

Parameters

  win | the id of the window
  percent | the opacity value in percent (will be justified to [ 0: transparent - 100: opaque ])

Since
  3.4

Definition at line 563 of file kwin.cpp.

void KWin::setShadowSize | ( | WId | win,
|  | uint | percent
| ) |  |

static

Sets the shadowsize of window `win` to percetage `percent`.

Convenience function that just sets an X property needs the running KDE kompmgr manager for any visible effect

Parameters

  win | the id of the window
  percent | the opacity value in percent (0 leads to a completely unshadowed window)

Since
  3.4

Definition at line 577 of file kwin.cpp.

void KWin::setState | ( | WId | win,
|  | unsigned long | state
| ) |  |

static

Sets the state of window `win` to `state`.

Possible values are or'ed combinations of NET::Modal, NET::Sticky, NET::MaxVert, NET::MaxHoriz, NET::Shaded, NET::SkipTaskbar, NET::SkipPager, NET::Hidden, NET::FullScreen, NET::KeepAbove, NET::KeepBelow, NET::StaysOnTop

Parameters

  win | the id of the window
  state | the new flags that will be set

Definition at line 547 of file kwin.cpp.

void KWin::setStrut | ( | WId | win,
|  | int | left,
|  | int | right,
|  | int | top,
|  | int | bottom
| ) |  |

static

Deprecated:
  use setExtendedStrut() Sets the strut of window `win` to `left`, `right`, `top`, `bottom`.

Parameters

  win | the id of the window
  left | the left strut
  right | the right strut
  top | the top strut
  bottom | the bottom strut

Definition at line 630 of file kwin.cpp.

void KWin::setSystemTrayWindowFor | ( | WId | trayWin,
|  | WId | forWin
| ) |  |

static

Makes `trayWin` a system tray window for `forWin`.

A system tray window serves as an icon replacement. It's displayed inside the panel's system tray.

Parameters

  trayWin | the id of the system tray window
  forWin | the id of the window represented by the system tray window

Definition at line 223 of file kwin.cpp.

void KWin::setType | ( | WId | win,
|  | NET::WindowType | windowType
| ) |  |

static

Sets the type of window `win` to `windowType`.

Parameters

  win | the id of the window
  windowType | the type of the window (see NET::WindowType)

Definition at line 539 of file kwin.cpp.

void KWin::setUserTime | ( | WId | win,
|  | long | time
| ) |  |

static

Sets user timestamp `time` on window `win`.

The timestamp is expressed as XServer time. If a window is shown with user timestamp older than the time of the last user action, it won't be activated after being shown. The most common case is the special value 0 which means not to activate the window after being shown.

Since
  3.2

Definition at line 279 of file kwin.cpp.

WId KWin::transientFor | ( | WId | window | ) |

static

Returns the WM_TRANSIENT_FOR property for the given window, i.e.

the mainwindow for this window.

Parameters

  window | the id of the window

Since
  3.2

Definition at line 293 of file kwin.cpp.

KWin::WindowInfo KWin::windowInfo | ( | WId | win,
|  | unsigned long | properties = `0`,
|  | unsigned long | properties2 = `0`
| ) |  |

static

Returns information about window `win`.

It is recommended to check whether the returned info is valid by calling the valid() method.

Parameters

  win | the id of the window
  properties | all properties that should be retrieved (see NET::Property enum for details) - passing 0 means all properties. Unlisted properties cause related information to be invalid in the returned data, but make this function faster when not all data is needed.
  properties2 | additional properties (see NET::Property2 enum). Note that specifying 0 means no properties, not all.

Returns
  the window information

Since
  3.2

Definition at line 287 of file kwin.cpp.

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

- kwin.h
- kwin.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys