kdecore Library API Documentation

KWin Class Reference

Convenience access to certain properties and features of the window manager. Class for interaction with the window manager. More...

#include <kwin.h>

List of all members.

Public Types

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

Static Public Member Functions

void activateWindow (WId win, long time=0)
void forceActiveWindow (WId win, long time=0)
void setActiveWindow (WId win) KDE_DEPRECATED
void demandAttention (WId win, bool set=true)
void setUserTime (WId win, long time)
void invokeContextHelp ()
void setSystemTrayWindowFor (WId trayWin, WId forWin)
WindowInfo windowInfo (WId win, unsigned long properties=0, unsigned long properties2=0)
WId transientFor (WId window)
WId groupLeader (WId window)
QPixmap icon (WId win, int width=-1, int height=-1, bool scale=false)
QPixmap icon (WId win, int width, int height, bool scale, int flags)
void setIcons (WId win, const QPixmap &icon, const QPixmap &miniIcon)
void setType (WId win, NET::WindowType windowType)
void setState (WId win, unsigned long state)
void clearState (WId win, unsigned long state)
void setOnAllDesktops (WId win, bool b)
void setOnDesktop (WId win, int desktop)
void setStrut (WId win, int left, int right, int top, int bottom)
int currentDesktop ()
int numberOfDesktops ()
void setCurrentDesktop (int desktop)
void iconifyWindow (WId win, bool animation=true)
void deIconifyWindow (WId win, bool animation=true)
void raiseWindow (WId win)
void lowerWindow (WId win)
bool icccmCompliantMappingState ()
bool allowedActionsSupported ()
QString readNameProperty (WId window, unsigned long atom)
Info info (WId win) KDE_DEPRECATED
void appStarted () KDE_DEPRECATED


Detailed Description

Convenience access to certain properties and features of the window manager. Class for interaction with 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.

See also:
NET

NetWinInfo

Author:
Matthias Ettrich (ettrich@kde.org)

Definition at line 59 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)
Enumeration values:
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 213 of file kwin.h.


Member Function Documentation

void KWin::activateWindow WId  win,
long  time = 0
[static]
 

Requests that window 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 if of the window to make active
time X server timestamp of the user activity that caused this request
Since:
3.2

Definition at line 206 of file kwin.cpp.

References info().

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 if of the window to make active
time X server timestamp of the user activity that caused this request
Since:
3.2

Definition at line 217 of file kwin.cpp.

References info().

void KWin::setActiveWindow WId  win  )  [static]
 

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

Definition at line 227 of file kwin.cpp.

References info().

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 235 of file kwin.cpp.

References NET::DemandsAttention, and info().

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 243 of file kwin.cpp.

References info().

void KWin::invokeContextHelp  )  [static]
 

Invokes interactive context help.

Definition at line 191 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 196 of file kwin.cpp.

References info().

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)
Returns:
the window information
Since:
3.2

Definition at line 251 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 257 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 271 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 337 of file kwin.cpp.

References ClassHint, NETWM, WMHints, and XApp.

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 343 of file kwin.cpp.

References ClassHint, QPixmap::convertFromImage(), QPixmap::convertToImage(), NETIcon::data, KIcon::DefaultState, QPixmap::detach(), NETSize::height, KInstance::iconLoader(), info(), KGlobal::instance(), QPixmap::isNull(), QImage::isNull(), KIconLoader::loadIcon(), QString::lower(), NETWM, QImage::setAlphaBuffer(), QPixmap::setMask(), QImage::size(), NETIcon::size, QImage::smoothScale(), NETSize::width, WMHints, and XApp.

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 459 of file kwin.cpp.

References QImage::bits(), QPixmap::convertToImage(), NETIcon::data, NETSize::height, info(), QPixmap::isNull(), QImage::size(), NETIcon::size, and NETSize::width.

Referenced by KApplication::setTopWidget().

void KWin::setType WId  win,
NET::WindowType  windowType
[static]
 

Sets the type of window win to windowType.

Possible values are NET::Normal, NET::Desktop, NET::Dock, NET::Tool, NET::Menu, NET::Dialog, NET::Override (== no decoration frame), NET::TopMenu, NET::Utility or NET::Splash

Parameters:
win the id of the window
windowType the type of the window

Definition at line 481 of file kwin.cpp.

References info().

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 489 of file kwin.cpp.

References info().

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 497 of file kwin.cpp.

References info().

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 505 of file kwin.cpp.

References info().

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 518 of file kwin.cpp.

References info().

void KWin::setStrut WId  win,
int  left,
int  right,
int  top,
int  bottom
[static]
 

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 526 of file kwin.cpp.

References NETStrut::bottom, info(), NETStrut::left, NETStrut::right, and NETStrut::top.

int KWin::currentDesktop  )  [static]
 

Convenience function to access the current desktop.

See NETRootInfo.

Returns:
the number of the current desktop

Definition at line 539 of file kwin.cpp.

References info().

Referenced by KWin::WindowInfo::isOnCurrentDesktop().

int KWin::numberOfDesktops  )  [static]
 

Convenience function to access the number of desktops.

See NETRootInfo.

Returns:
the number of desktops

Definition at line 551 of file kwin.cpp.

References info().

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 563 of file kwin.cpp.

References info().

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 572 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 585 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 597 of file kwin.cpp.

References info().

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 608 of file kwin.cpp.

References info().

bool KWin::allowedActionsSupported  )  [static]
 

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

Since:
3.2

Definition at line 1023 of file kwin.cpp.

References info().

Referenced by KWin::WindowInfo::actionSupported().

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 1037 of file kwin.cpp.

References QString::fromLocal8Bit().

Referenced by KWin::WindowInfo::WindowInfo().

KWin::Info KWin::info WId  win  )  [static]
 

Deprecated:
Use
See also:
windowInfo() .

Definition at line 291 of file kwin.cpp.

References KWin::Info::desktop, KWin::Info::frameGeometry, QString::fromLocal8Bit(), QString::fromUtf8(), KWin::Info::geometry, NETSize::height, KWin::Info::mappingState, KWin::Info::name, KWin::Info::onAllDesktops, KWin::Info::pid, NETRect::pos, QRect::setRect(), NETRect::size, KWin::Info::state, KWin::Info::strut, KWin::Info::visibleName, NETSize::width, KWin::Info::win, KWin::Info::windowType, NETPoint::x, and NETPoint::y.

Referenced by activateWindow(), allowedActionsSupported(), clearState(), currentDesktop(), demandAttention(), forceActiveWindow(), icon(), lowerWindow(), numberOfDesktops(), raiseWindow(), setActiveWindow(), setCurrentDesktop(), setIcons(), setOnAllDesktops(), setOnDesktop(), setState(), setStrut(), setSystemTrayWindowFor(), setType(), and setUserTime().

void KWin::appStarted  )  [static]
 

Deprecated:
Use KStartupInfo::appStarted

Definition at line 619 of file kwin.cpp.

References KStartupInfo::appStarted().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.2.3.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Aug 4 05:23:33 2004 by doxygen 1.3.4 written by Dimitri van Heesch, © 1997-2003