• Skip to content
  • Skip to link menu
KDE 3.5 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

KDECore

kwin.h

Go to the documentation of this file.
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 #ifndef KWIN_H
00020 #define KWIN_H
00021 
00022 #include <sys/types.h>
00023 #include <qwindowdefs.h>
00024 #include <qstring.h>
00025 #include <qpixmap.h>
00026 #include "kdelibs_export.h"
00027 
00028 #ifdef Q_OS_UNIX
00029 
00030 #include <netwm_def.h>
00031 class NETWinInfo;
00032 
00061 class KDECORE_EXPORT KWin
00062 {
00063 public:
00064 
00092     static void activateWindow( WId win, long time = 0 );
00093 
00108     static void forceActiveWindow( WId win, long time = 0 );
00113     static void setActiveWindow( WId win ) KDE_DEPRECATED;
00114 
00126     static void demandAttention( WId win, bool set = true );
00127 
00138     static void setUserTime( WId win, long time );
00139 
00143     static void invokeContextHelp();
00144 
00145 
00159     static void setMainWindow( QWidget* subwindow, WId mainwindow );
00160 
00170     static void setSystemTrayWindowFor( WId trayWin, WId forWin );
00171 
00172     class WindowInfo;
00173     class WindowInfoPrivate;
00187     static WindowInfo windowInfo( WId win, unsigned long properties = 0, unsigned long properties2 = 0 );
00188 
00196     static WId transientFor( WId window );
00197 
00203     static WId groupLeader( WId window );
00204 
00221     static QPixmap icon( WId win, int width = -1, int height = -1, bool scale = false );
00222 
00231     enum IconSource { NETWM = 1, 
00232               WMHints = 2, 
00233               ClassHint = 4, 
00234               XApp = 8 
00235     };
00251     static QPixmap icon( WId win, int width, int height, bool scale, int flags );
00252 
00259     static void  setIcons( WId win, const QPixmap& icon, const QPixmap& miniIcon );
00260 
00267     static void setType( WId win, NET::WindowType windowType );
00268 
00280     static void setState( WId win, unsigned long state );
00281 
00293     static void clearState( WId win, unsigned long  state );
00294     
00305     static void setOpacity( WId win, uint percent );
00306     
00317     static void setShadowSize( WId win, uint percent );
00318 
00327     static void setOnAllDesktops( WId win, bool b );
00328 
00335     static void setOnDesktop( WId win, int desktop);
00336 
00358     static void setExtendedStrut( WId win, int left_width, int left_start, int left_end,
00359         int right_width, int right_start, int right_end, int top_width, int top_start, int top_end,
00360         int bottom_width, int bottom_start, int bottom_end );
00361 
00372     static void setStrut( WId win, int left, int right, int top, int bottom );
00377     static int currentDesktop();
00378 
00384     static int numberOfDesktops();
00385 
00391     static void setCurrentDesktop( int desktop );
00392 
00400     static void setCurrentDesktopViewport( int desktop, QPoint viewport );
00401 
00410     static void iconifyWindow( WId win, bool animation = true  );
00411 
00420     static void deIconifyWindow( WId win, bool animation = true );
00421 
00429     static void raiseWindow( WId win );
00430 
00438     static void lowerWindow( WId win );
00439 
00445     static bool icccmCompliantMappingState();
00446 
00451     static bool allowedActionsSupported();
00452 
00458     static QString readNameProperty( WId window, unsigned long atom );
00459 
00464     static bool compositingActive();
00465 
00469     struct KDECORE_EXPORT Info
00470     {
00472     WId win;
00474     long unsigned int state;
00476     bool isMinimized() const;
00477     bool isIconified() const;
00478     NET::MappingState mappingState;
00480     NETStrut strut;
00482     NET::WindowType windowType;
00484     QString visibleName;
00486     QString name;
00488     int desktop;
00490     bool onAllDesktops;
00492     pid_t pid;
00494     QRect geometry;
00496     QRect frameGeometry;
00497 
00498     QString visibleNameWithState() const;
00499     };
00500 
00505     static Info info( WId win ) KDE_DEPRECATED;
00506 
00507 #ifdef KDE_NO_COMPAT
00508 private:
00509 #endif
00510 
00514     static void appStarted() KDE_DEPRECATED;
00515 };
00516 
00517 
00522 class KDECORE_EXPORT KWin::WindowInfo
00523 {
00524 public:
00528     WindowInfo( WId window, unsigned long properties, unsigned long properties2 );
00529     WindowInfo(); // to make QValueList and others happy
00530     ~WindowInfo();
00537     bool valid( bool withdrawn_is_valid = false ) const;
00541     WId win() const;
00546     unsigned long state() const;
00552     bool hasState( unsigned long s ) const { return ( state() & s ) == s; }
00560     bool isMinimized() const;
00567     NET::MappingState mappingState() const;
00572     NETExtendedStrut extendedStrut() const;
00578     NETStrut strut() const;
00584     NET::WindowType windowType( int supported_types ) const;
00590     QString visibleName() const;
00600     QString visibleNameWithState() const;
00606     QString name() const;
00613     QString visibleIconName() const;
00624     QString visibleIconNameWithState() const;
00631     QString iconName() const;
00636     bool isOnCurrentDesktop() const;
00641     bool isOnDesktop( int desktop ) const;
00647     bool onAllDesktops() const;
00653     int desktop() const;
00658     QRect geometry() const;
00663     QRect frameGeometry() const;
00669     WId transientFor() const;
00674     WId groupLeader() const;
00675 
00682     QCString windowClassClass() const;
00683 
00690     QCString windowClassName() const;
00691 
00697     QCString windowRole() const;
00698 
00704     QCString clientMachine() const;
00705 
00711     bool actionSupported( NET::Action action ) const;
00712 
00713     WindowInfo( const WindowInfo& );
00714     WindowInfo& operator=( const WindowInfo& );
00715 private:
00716     WindowInfoPrivate* d;
00717 };
00718 
00719 #endif //Q_OS_UNIX
00720 
00721 #endif

KDECore

Skip menu "KDECore"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • dcop
  • DNSSD
  • interfaces
  • Kate
  • kconf_update
  • KDECore
  • KDED
  • kdefx
  • KDEsu
  • kdeui
  • KDocTools
  • KHTML
  • KImgIO
  • KInit
  • kio
  • kioslave
  • KJS
  • KNewStuff
  • KParts
  • KUtils
Generated for API Reference by doxygen 1.5.9
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal