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

kwin

sm.h

00001 /*****************************************************************
00002  KWin - the KDE window manager
00003  This file is part of the KDE project.
00004 
00005 Copyright (C) 1999, 2000 Matthias Ettrich <ettrich@kde.org>
00006 Copyright (C) 2003 Lubos Lunak <l.lunak@kde.org>
00007 
00008 You can Freely distribute this program under the GNU General Public
00009 License. See the file "COPYING" for the exact licensing terms.
00010 ******************************************************************/
00011 
00012 #ifndef KWIN_SM_H
00013 #define KWIN_SM_H
00014 
00015 #include <X11/SM/SMlib.h>
00016 #include <kapplication.h>
00017 #include <netwm_def.h>
00018 
00019 class QSocketNotifier;
00020 
00021 namespace KWinInternal
00022 {
00023 
00024 struct SessionInfo
00025     {
00026     QCString sessionId;
00027     QCString windowRole;
00028     QCString wmCommand;
00029     QCString wmClientMachine;
00030     QCString resourceName;
00031     QCString resourceClass;
00032 
00033     QRect geometry;
00034     QRect restore;
00035     QRect fsrestore;
00036     int maximized;
00037     int fullscreen;
00038     int desktop;
00039     bool minimized;
00040     bool onAllDesktops;
00041     bool shaded;
00042     bool keepAbove;
00043     bool keepBelow;
00044     bool skipTaskbar;
00045     bool skipPager;
00046     bool userNoBorder;
00047     NET::WindowType windowType;
00048     QString shortcut;
00049     bool active; // means 'was active in the saved session'
00050     };
00051 
00052 
00053 enum SMSavePhase
00054     {
00055     SMSavePhase0,     // saving global state in "phase 0"
00056     SMSavePhase2,     // saving window state in phase 2
00057     SMSavePhase2Full  // complete saving in phase2, there was no phase 0
00058     };
00059     
00060 class SessionSaveDoneHelper
00061     : public QObject
00062     {
00063     Q_OBJECT
00064     public:
00065         SessionSaveDoneHelper();
00066         virtual ~SessionSaveDoneHelper();
00067         SmcConn connection() const { return conn; }
00068         void saveDone();
00069         void close();
00070     private slots:
00071         void processData();
00072     private:
00073         QSocketNotifier* notifier;
00074         SmcConn conn;
00075     };
00076 
00077 
00078 class SessionManaged
00079     : public KSessionManaged
00080     {
00081     public:
00082         virtual bool saveState( QSessionManager& sm );
00083         virtual bool commitData( QSessionManager& sm );
00084     };
00085 
00086 } // namespace
00087 
00088 #endif

kwin

Skip menu "kwin"
  • Main Page
  • Alphabetical List
  • Class List
  • File List
  • Class Members

@topname@

Skip menu "@topname@"
  • kate
  • kwin
  •   lib
  • libkonq
Generated for @topname@ 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