twinmodule.h
00001 /* This file is part of the KDE libraries 00002 Copyright (C) 1999 Matthias Ettrich (ettrich@kde.org) 00003 00004 This library is free software; you can redistribute it and/or 00005 modify it under the terms of the GNU Library General Public 00006 License as published by the Free Software Foundation; either 00007 version 2 of the License, or (at your option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, 00010 but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 Library General Public License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to 00016 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 Boston, MA 02110-1301, USA. 00018 */ 00019 /* 00020 * twinmodule.h. Part of the KDE project. 00021 */ 00022 00023 #ifndef KWINMODULE_H 00024 #define KWINMODULE_H 00025 00026 #include <tqobject.h> 00027 #include <tqvaluelist.h> 00028 #include "tdelibs_export.h" 00029 00030 #ifdef Q_MOC_RUN 00031 #define Q_OS_UNIX 00032 #endif // Q_MOC_RUN 00033 00034 #ifdef Q_OS_UNIX 00035 00036 class KWinModulePrivate; 00037 00056 class TDECORE_EXPORT KWinModule : public TQObject 00057 { 00058 Q_OBJECT 00059 00060 public: 00061 00062 enum { INFO_DESKTOP=1, 00063 INFO_WINDOWS=2, 00064 INFO_ALL=32767 }; 00092 KWinModule( TQObject* parent, int what ); 00098 KWinModule( TQObject* parent = 0 ); 00099 00103 ~KWinModule(); 00104 00123 const TQValueList<WId>& windows() const; 00124 00131 const TQValueList<WId>& stackingOrder() const; 00132 00138 bool hasWId(WId id) const; 00139 00144 const TQValueList<WId>& systemTrayWindows() const; 00145 00150 int currentDesktop() const; 00151 00156 int numberOfDesktops() const; 00157 00164 TQSize numberOfViewports(int desktop) const; 00165 00171 TQPoint currentViewport(int desktop) const; 00172 00178 WId activeWindow() const; 00179 00187 TQRect workArea( int desktop = - 1 ) const; 00188 00189 00200 TQRect workArea( const TQValueList<WId> &excludes, int desktop = -1) const; 00201 00207 TQString desktopName( int desktop ) const; 00208 00214 void setDesktopName( int desktop, const TQString& name ); 00215 00220 bool showingDesktop() const; 00221 00231 void doNotManage( const TQString& title ); 00232 00233 00234 signals: 00235 00240 void currentDesktopChanged( int desktop); 00241 00246 void windowAdded(WId id); 00247 00252 void windowRemoved(WId id); 00253 00258 void activeWindowChanged(WId id); 00259 00263 void desktopNamesChanged(); 00264 00269 void numberOfDesktopsChanged(int num); 00270 00275 void systemTrayWindowAdded(WId id); 00276 00281 void systemTrayWindowRemoved(WId id); 00282 00286 void workAreaChanged(); 00287 00293 void strutChanged(); 00294 00299 void stackingOrderChanged(); 00300 00301 00312 void windowChanged(WId id, const unsigned long* properties ); 00313 00323 void windowChanged(WId id, unsigned int properties); 00324 00329 void windowChanged(WId id); 00330 00335 void showingDesktopChanged( bool showing ); 00336 00341 void desktopGeometryChanged(int desktop); 00342 00347 void currentDesktopViewportChanged(int desktop, const TQPoint& viewport); 00348 00349 protected: 00350 virtual void connectNotify( const char* signal ); 00351 00352 private: 00353 void init(int); 00354 00355 KWinModulePrivate* d; 00356 00357 friend class KWinModulePrivate; 00358 }; 00359 00360 #endif //Q_OS_UNIX 00361 00362 #endif