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

KDECore

KWin Class Reference

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

#include <kwin.h>

List of all members.


Classes

struct  Info
class  WindowInfo
 Information about a window. More...

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

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 (ettrich@kde.org)

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@kde.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.

bool KWin::icccmCompliantMappingState (  )  [static]

For internal use only.

Returns true if the WM uses IconicState also for windows on inactive virtual desktops.

Definition at line 1211 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.

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.

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

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