sm.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
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 bool active;
00049 };
00050
00051
00052 enum SMSavePhase
00053 {
00054 SMSavePhase0,
00055 SMSavePhase2,
00056 SMSavePhase2Full
00057 };
00058
00059 class SessionSaveDoneHelper
00060 : public QObject
00061 {
00062 Q_OBJECT
00063 public:
00064 SessionSaveDoneHelper();
00065 virtual ~SessionSaveDoneHelper();
00066 SmcConn connection() const { return conn; }
00067 void saveDone();
00068 void close();
00069 private slots:
00070 void processData();
00071 private:
00072 QSocketNotifier* notifier;
00073 SmcConn conn;
00074 };
00075
00076
00077 class SessionManaged
00078 : public KSessionManaged
00079 {
00080 public:
00081 virtual bool saveState( QSessionManager& sm );
00082 virtual bool commitData( QSessionManager& sm );
00083 };
00084
00085 }
00086
00087 #endif
This file is part of the documentation for kwin Library Version 3.3.0.