diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-03-16 21:58:44 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2020-03-16 21:58:44 +0900 |
commit | ab3e99d8ee8ef5b53dcd1e6f90e3cdbbc08322e3 (patch) | |
tree | e622bfddde12ec89c8a84bfefec8dce7140109db /src/traylabelmgr.h | |
parent | d9e1d9fa71544a674d213117c0b675a0e874e556 (diff) | |
download | tdedocker-ab3e99d8ee8ef5b53dcd1e6f90e3cdbbc08322e3.tar.gz tdedocker-ab3e99d8ee8ef5b53dcd1e6f90e3cdbbc08322e3.zip |
Conversion to TDE application.
Notable changes:
1) save/restore data are saved in TDE session files.
2) remove -a, -l options. Removed "Launch on startup" option.
3) docked application are restored automatically by the TDE session
manager. After being restored, tdedocker will wait for 5 seconds to let
the various applications be restored, then it will try to grab the
required windows.
4) save/restore of docked applications is now working properly.
5) due to the way TDE manages command line options, at the moment
additional parameters cannot be passed to the application to be
docked. This will be address in a subsequent commit.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'src/traylabelmgr.h')
-rw-r--r-- | src/traylabelmgr.h | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/src/traylabelmgr.h b/src/traylabelmgr.h index 8a27a6c..90ff1ba 100644 --- a/src/traylabelmgr.h +++ b/src/traylabelmgr.h @@ -1,6 +1,6 @@ /* * Copyright (C) 2004 Girish Ramakrishnan All Rights Reserved. - * + * * This is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -25,12 +25,16 @@ #include <tqptrlist.h> #include <tqvaluelist.h> #include <tqstringlist.h> +#include <tqtimer.h> +#include <tdeapplication.h> #include "customtraylabel.h" class CustomTrayLabel; +class TDECmdLineArgs; +class TQSessionManager; -class TrayLabelMgr : public TQObject +class TrayLabelMgr : public TQObject, public KSessionManaged { Q_OBJECT @@ -40,21 +44,21 @@ public: ~TrayLabelMgr(); - TQString saveSession(); + bool saveState(TQSessionManager &sm); bool x11EventFilter(XEvent *); - bool processCommand(const TQStringList& argv); + bool processCommand(const TQStringList &argv); int hiddenLabelsCount(void) const; int dockedLabelsCount(void) const; bool isWindowDocked(Window w); - + public slots: - void about(); void undockAll(); void dockAnother(); private slots: void startup(); + void doRestoreSession(); void trayLabelDestroyed(TQObject *); void sysTrayDestroyed(void); void notifySysTrayAbsence(); @@ -62,17 +66,19 @@ private slots: private: TrayLabelMgr(); bool processCommand(int argc, char** argv); + bool processCommand(TDECmdLineArgs *args); void manageTrayLabel(TQTrayLabel *l); - bool restoreSession(const TQString& sessionId); - + void restoreSession(); + TQTrayLabel *dockApplication(char *argv[]); TQTrayLabel *selectAndDock(Window w = None, bool checkNormality = true); TQPtrList<TQTrayLabel> mTrayLabels; TQValueList<TQStringList> mRequestQ; + TQTimer restoreSessionTimer; bool mReady; int mHiddenLabelsCount; - + static const char *mOptionString; static TrayLabelMgr *gTrayLabelMgr; }; |