<HTML> <HEAD> <TITLE>class KWinModule</TITLE> <META NAME="Generator" CONTENT="KDOC "> </HEAD> <BODY bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#000099" alink= "#ffffff"> <TABLE WIDTH="100%" BORDER="0"> <TR> <TD> <TABLE BORDER="0"> <TR><TD valign="top" align="left" cellspacing="10"> <h1>class KWinModule</h1> </TD> <TD valign="top" align="right" colspan="1">Base class for KDE Window Manager modules. <small><A HREF="#longdesc">More...</A></small></TD></TR> </TABLE> <HR> <TABLE BORDER="0"> <TR><TH>Definition</TH><TD><code>#include <<A HREF="kwinmodule_h.html">kwinmodule.h</A>></code></TD></TR> <TR><TH>Inherits</TH><TD><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qobject.html">QObject</A> <small>(qt)</small> <small>[public ]</small></TD></TR> <TR><TH><A HREF="full-list-KWinModule.html">List of all Methods</A></TH></TR> </TABLE> </TD> <TD align="right"><TABLE BORDER="0"><TR><TD><small><A HREF="index-long.html">Annotated List</A></small></TD></TR> <TR><TD><small><A HREF="header-list.html">Files</A></small></TD></TR> <TR><TD><small><A HREF="all-globals.html">Globals</A></small></TD></TR> <TR><TD><small><A HREF="hier.html">Hierarchy</A></small></TD></TR> <TR><TD><small><A HREF="index.html">Index</A></small></TD></TR> </TABLE></TD></TR></TABLE> <h4>Public Methods</h4><ul><LI> <b><A HREF="#ref1">KWinModule</A></b> ( <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qobject.html">QObject</A>* parent = 0 ) </LI> <LI> <b><A HREF="#ref2">~KWinModule</A></b> () </LI> <LI>const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>& <b><A HREF="#ref3">windows</A></b> () const </LI> <LI>const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>& <b><A HREF="#ref4">stackingOrder</A></b> () const </LI> <LI>bool <b><A HREF="#ref5">hasWId</A></b> (WId) const </LI> <LI>const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>& <b><A HREF="#ref6">systemTrayWindows</A></b> () const </LI> <LI>int <b><A HREF="#ref7">currentDesktop</A></b> () const </LI> <LI>int <b><A HREF="#ref8">numberOfDesktops</A></b> () const </LI> <LI>WId <b><A HREF="#ref9">activeWindow</A></b> () const </LI> <LI><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qrect.html">QRect</A> <b><A HREF="#ref10">workArea</A></b> ( int desktop = - 1 ) const </LI> <LI><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qrect.html">QRect</A> <b><A HREF="#ref11">workArea</A></b> ( const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>&, int desktop = -1) const </LI> <LI><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qstring.html">QString</A> <b><A HREF="#ref12">desktopName</A></b> ( int desktop ) const </LI> <LI>void <b><A HREF="#ref13">setDesktopName</A></b> ( int desktop, const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qstring.html">QString</A>& name ) </LI> <LI>void <b><A HREF="#ref14">doNotManage</A></b> ( const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qstring.html">QString</A>& title ) </LI> </ul><h4>Signals</h4><ul><LI>void <b><A HREF="#ref15">currentDesktopChanged</A></b> ( int ) </LI> <LI>void <b><A HREF="#ref16">windowAdded</A></b> (WId) </LI> <LI>void <b><A HREF="#ref17">windowRemoved</A></b> (WId) </LI> <LI>void <b><A HREF="#ref18">activeWindowChanged</A></b> (WId) </LI> <LI>void <b><A HREF="#ref19">desktopNamesChanged</A></b> () </LI> <LI>void <b><A HREF="#ref20">numberOfDesktopsChanged</A></b> (int) </LI> <LI>void <b><A HREF="#ref21">systemTrayWindowAdded</A></b> (WId) </LI> <LI>void <b><A HREF="#ref22">systemTrayWindowRemoved</A></b> (WId) </LI> <LI>void <b><A HREF="#ref23">workAreaChanged</A></b> () </LI> <LI>void <b><A HREF="#ref24">strutChanged</A></b> () </LI> <LI>void <b><A HREF="#ref25">stackingOrderChanged</A></b> () </LI> <LI>void <b><A HREF="#ref26">windowChanged</A></b> (WId, unsigned int ) </LI> <LI>void <b><A HREF="#ref27">windowChanged</A></b> (WId ) </LI> </ul><HR><H2><A NAME="longdesc">Detailed Description</A></H2><p> </p> <p> The class KWinModule provides information about the state of the window manager as required by windowmanager modules. It informs a module about all currently managed windows and changes to them (via Qt signals). </p> <p> KWinModule uses NETRootInfo internally. Modules written with this class will work fine under any window manager that implements the NET_WM protocol. </p> <p> There are no methods to manipulate windows. Those are defined in the classes KWin, NETWinInfo and NETRootInfo. </p> <p></p> <p></p> <A NAME="KWinModule"></A><A NAME="ref1"></A><table width="100%"><tr bgcolor="#eeeeee"><td> <strong>KWinModule</strong> ( <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qobject.html">QObject</A>* parent = 0 ) <br></td><td align="right"><h3><strong>KWinModule</strong></h3></td></tr></table><p></p><p> Creates a KWinModule object and connects to the window manager. </p> <A NAME="~KWinModule"></A><A NAME="ref2"></A><table width="100%"><tr bgcolor="#eeeeee"><td> <strong>~KWinModule</strong> () <br></td><td align="right"><h3><strong>~KWinModule</strong></h3></td></tr></table><p></p><p> Destructor. Internal cleanup, nothing fancy. </p> <A NAME="windows"></A><A NAME="ref3"></A><table width="100%"><tr bgcolor="#eeeeee"><td>const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>& <strong>windows</strong> () <br></td><td align="right"><h3><strong>windows</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Retrurns the list of all toplevel windows currently managed by the windowmanger in the order of creation. Please do not rely on indexes of this list: Whenever you enter Qt's eventloop in your application it may happen that entries are removed or added. Your module should perhaps work on a copy of this list and verify a window with hasWindow() before any operations. </p> <p> Iteration over this list can be done easily with </p><table border="0" width="100%"> <tr> <td bgcolor="#BEEAE0"> <pre> <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>::ConstIterator it; for ( it = module-><A HREF="KWinModule.html#windows">windows</A>().begin(); it != modules-><A HREF="KWinModule.html#windows">windows</A>().end(); ++it ) { ... do something here, (*it) is the current WId. } </pre> </td></tr> </table> <p> </p> <A NAME="stackingOrder"></A><A NAME="ref4"></A><table width="100%"><tr bgcolor="#eeeeee"><td>const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>& <strong>stackingOrder</strong> () <br></td><td align="right"><h3><strong>stackingOrder</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the list of all toplevel windows currently managed by the windowmanger in the current stacking order (from lower to higher). May be useful for pagers. </p> <A NAME="hasWId"></A><A NAME="ref5"></A><table width="100%"><tr bgcolor="#eeeeee"><td>bool <strong>hasWId</strong> (WId) <br></td><td align="right"><h3><strong>hasWId</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Test to see if <code>WId</code> still managed at present. </p> <A NAME="systemTrayWindows"></A><A NAME="ref6"></A><table width="100%"><tr bgcolor="#eeeeee"><td>const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>& <strong>systemTrayWindows</strong> () <br></td><td align="right"><h3><strong>systemTrayWindows</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Retrieves a list of the system tray windows. </p> <A NAME="currentDesktop"></A><A NAME="ref7"></A><table width="100%"><tr bgcolor="#eeeeee"><td>int <strong>currentDesktop</strong> () <br></td><td align="right"><h3><strong>currentDesktop</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the current virtual desktop </p> <A NAME="numberOfDesktops"></A><A NAME="ref8"></A><table width="100%"><tr bgcolor="#eeeeee"><td>int <strong>numberOfDesktops</strong> () <br></td><td align="right"><h3><strong>numberOfDesktops</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the number of virtual desktops </p> <A NAME="activeWindow"></A><A NAME="ref9"></A><table width="100%"><tr bgcolor="#eeeeee"><td>WId <strong>activeWindow</strong> () <br></td><td align="right"><h3><strong>activeWindow</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the currently active window, or 0 if no window is active. </p> <A NAME="workArea"></A><A NAME="ref10"></A><table width="100%"><tr bgcolor="#eeeeee"><td><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qrect.html">QRect</A> <strong>workArea</strong> ( int desktop = - 1 ) <br></td><td align="right"><h3><strong>workArea</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the workarea for the specified desktop, or the current work area if no desktop has been specified. </p> <A NAME="workArea"></A><A NAME="ref11"></A><table width="100%"><tr bgcolor="#eeeeee"><td><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qrect.html">QRect</A> <strong>workArea</strong> ( const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qvaluelist.html">QValueList</A><WId>&, int desktop = -1) <br></td><td align="right"><h3><strong>workArea</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the workarea for the specified desktop, or the current work area if no desktop has been specified. Excludes struts of clients in the exclude List. </p> <A NAME="desktopName"></A><A NAME="ref12"></A><table width="100%"><tr bgcolor="#eeeeee"><td><A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qstring.html">QString</A> <strong>desktopName</strong> ( int desktop ) <br></td><td align="right"><h3><strong>desktopName</strong></h3></td></tr></table><p> <small>[const]</small></p><p> Returns the name of the specified desktop </p> <A NAME="setDesktopName"></A><A NAME="ref13"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>setDesktopName</strong> ( int desktop, const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qstring.html">QString</A>& name ) <br></td><td align="right"><h3><strong>setDesktopName</strong></h3></td></tr></table><p></p><p> Sets the name of the specified desktop </p> <A NAME="doNotManage"></A><A NAME="ref14"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>doNotManage</strong> ( const <A HREF="../../../../../../../../../usr/share/doc/qt-2.3.1/html/qstring.html">QString</A>& title ) <br></td><td align="right"><h3><strong>doNotManage</strong></h3></td></tr></table><p></p><p> Informs kwin via dcop to not manage a window with the specified <code>title</code>. </p> <p> Useful for swallowing legacy applications, for example java applets. </p> <p> </p> <A NAME="currentDesktopChanged"></A><A NAME="ref15"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>currentDesktopChanged</strong> ( int ) <br></td><td align="right"><h3><strong>currentDesktopChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> Switched to another virtual desktop </p> <A NAME="windowAdded"></A><A NAME="ref16"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>windowAdded</strong> (WId) <br></td><td align="right"><h3><strong>windowAdded</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> A window has been added </p> <A NAME="windowRemoved"></A><A NAME="ref17"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>windowRemoved</strong> (WId) <br></td><td align="right"><h3><strong>windowRemoved</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> A window has been removed </p> <A NAME="activeWindowChanged"></A><A NAME="ref18"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>activeWindowChanged</strong> (WId) <br></td><td align="right"><h3><strong>activeWindowChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> Hint that <Window> is active (= has focus) now. </p> <A NAME="desktopNamesChanged"></A><A NAME="ref19"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>desktopNamesChanged</strong> () <br></td><td align="right"><h3><strong>desktopNamesChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> Desktops have been renamed </p> <A NAME="numberOfDesktopsChanged"></A><A NAME="ref20"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>numberOfDesktopsChanged</strong> (int) <br></td><td align="right"><h3><strong>numberOfDesktopsChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> The number of desktops changed </p> <A NAME="systemTrayWindowAdded"></A><A NAME="ref21"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>systemTrayWindowAdded</strong> (WId) <br></td><td align="right"><h3><strong>systemTrayWindowAdded</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> Add a dock window </p> <A NAME="systemTrayWindowRemoved"></A><A NAME="ref22"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>systemTrayWindowRemoved</strong> (WId) <br></td><td align="right"><h3><strong>systemTrayWindowRemoved</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> Remove a dock window </p> <A NAME="workAreaChanged"></A><A NAME="ref23"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>workAreaChanged</strong> () <br></td><td align="right"><h3><strong>workAreaChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> The workarea has changed </p> <A NAME="strutChanged"></A><A NAME="ref24"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>strutChanged</strong> () <br></td><td align="right"><h3><strong>strutChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><A NAME="stackingOrderChanged"></A><A NAME="ref25"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>stackingOrderChanged</strong> () <br></td><td align="right"><h3><strong>stackingOrderChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> The stacking order of the window changed. The new order can be obtained with <A HREF="KWinModule.html#stackingOrder">stackingOrder</A>() </p> <A NAME="windowChanged"></A><A NAME="ref26"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>windowChanged</strong> (WId, unsigned int ) <br></td><td align="right"><h3><strong>windowChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> The window changed. </p> <p> The unsigned int parameter contains the NET properties that were modified (see netem_def.h). </p> <A NAME="windowChanged"></A><A NAME="ref27"></A><table width="100%"><tr bgcolor="#eeeeee"><td>void <strong>windowChanged</strong> (WId ) <br></td><td align="right"><h3><strong>windowChanged</strong></h3></td></tr></table><p> <small>[signal]</small></p><p> The window changed somehow. </p> <HR><UL><LI><i>Version</i>: $Id: kwinmodule.h,v 1.13 2001/02/03 19:04:31 antlarr Exp $ </LI><LI><i>Author</i>: Matthias Ettrich (ettrich@kde.org) </LI><LI><i>Generated</i>: qateam on updates.mandrakesoft.com on Mon Dec 30 16:08:56 2002, using kdoc 2.0a53.</LI></UL></BODY></HTML>