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

References info(), and NETRootInfo::setActiveWindow().

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

References info(), and NETRootInfo::setActiveWindow().

Referenced by KStartupInfo::setNewStartupId().

void KWin::setActiveWindow WId  win  )  [static]
 

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

Definition at line 236 of file kwin.cpp.

References info(), and NETRootInfo::setActiveWindow().

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

References info(), and NETWinInfo::setState().

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

References info(), and NETWinInfo::setUserTime().

void KWin::invokeContextHelp  )  [static]
 

Invokes interactive context help.

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

References info(), NETRootInfo::isSupported(), DCOPRef::send(), and NETWinInfo::setKDESystemTrayWinFor().

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 261 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 267 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 281 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 347 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 353 of file kwin.cpp.

References NETIcon::data, NETSize::height, NETWinInfo::icon(), KInstance::iconLoader(), info(), KGlobal::instance(), KIconLoader::loadIcon(), NETIcon::size, and NETSize::width.

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

References NETIcon::data, NETSize::height, info(), NETWinInfo::setIcon(), 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 491 of file kwin.cpp.

References info(), and NETWinInfo::setWindowType().

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

References info(), and NETWinInfo::setState().

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

References info(), and NETWinInfo::setState().

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

References NETRootInfo::currentDesktop(), NETWinInfo::desktop(), info(), and NETWinInfo::setDesktop().

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

References info(), and NETWinInfo::setDesktop().

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

References NETExtendedStrut::bottom_end, NETExtendedStrut::bottom_start, NETExtendedStrut::bottom_width, info(), NETExtendedStrut::left_end, NETExtendedStrut::left_start, NETExtendedStrut::left_width, NETExtendedStrut::right_end, NETExtendedStrut::right_start, NETExtendedStrut::right_width, NETWinInfo::setExtendedStrut(), NETExtendedStrut::top_end, NETExtendedStrut::top_start, and NETExtendedStrut::top_width.

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

References NETStrut::bottom, info(), NETStrut::left, NETStrut::right, NETWinInfo::setStrut(), 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 572 of file kwin.cpp.

References NETRootInfo::currentDesktop(), and 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 584 of file kwin.cpp.

References info(), and NETRootInfo::numberOfDesktops().

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

References info(), and NETRootInfo::setCurrentDesktop().

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 605 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 618 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 630 of file kwin.cpp.

References info(), NETRootInfo::isSupported(), and NETRootInfo::restackRequest().

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

References info(), NETRootInfo::isSupported(), and NETRootInfo::restackRequest().

bool KWin::allowedActionsSupported  )  [static]
 

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

Since:
3.2

Definition at line 1140 of file kwin.cpp.

References info(), and NETRootInfo::isSupported().

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

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

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

Deprecated:
Use
See also:
windowInfo() .

Definition at line 301 of file kwin.cpp.

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

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

void KWin::appStarted  )  [static]
 

Deprecated:
Use KStartupInfo::appStarted

Definition at line 652 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.3.0.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Thu Sep 23 17:11:43 2004 by doxygen 1.3.8-20040913 written by Dimitri van Heesch, © 1997-2003