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 Methods

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

Overloaded variant that allows specifying from which sources the icon should be read.

This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.

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(), and NET::WindowType.

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 KWin::Info::desktop, and 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.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Feb 4 12:33:59 2004 by doxygen 1.2.18 written by Dimitri van Heesch, © 1997-2003