diff options
author | Ken Moore <ken@pcbsd.org> | 2015-06-14 17:53:11 -0400 |
---|---|---|
committer | Ken Moore <ken@pcbsd.org> | 2015-06-14 17:53:11 -0400 |
commit | 33494b8f9177a9c1b3d936e974ad553fc07ae859 (patch) | |
tree | 93b404510a04f5dcb76dc0e35ccac144c6d5cb68 /lumina-desktop/LSession.h | |
parent | Add a QtQuick sample plugin and disable the new panel container for QtQuick p... (diff) | |
download | lumina-33494b8f9177a9c1b3d936e974ad553fc07ae859.tar.gz lumina-33494b8f9177a9c1b3d936e974ad553fc07ae859.tar.bz2 lumina-33494b8f9177a9c1b3d936e974ad553fc07ae859.zip |
Re-work quite a bit of the background procedures for desktop plugins and watchers:
1) Move the ~/Desktop directory watcher into the Session (no extra overhead, already have a watcher there), and have te session send out signals when the contents of the ~/Desktop dir change.
2) Setup the plugins that poll the desktop to use the new session implementation (reducing overhead overall)
3) Add the ability to use files/dirs in the "applauncher" plugin as well (not exposed to user yet)
4) Add a new desktop flag for auto-creating applauncher plugins for any files/dirs on the desktop (not added to lumina-config yet)
5) Get rid of all the config files for the desktop plugins and merge them all together into a single conf file that the session maintains the pointer to (so plugins can grab that pointer as necessary)
6) Make sure that desktop plugins go through a special [read/save]Setting() functions in the plugin implementation itself so that they don't accidentally trample other plugin settings (keeps it restricted to the particular group for that plugin)
Diffstat (limited to 'lumina-desktop/LSession.h')
-rw-r--r-- | lumina-desktop/LSession.h | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lumina-desktop/LSession.h b/lumina-desktop/LSession.h index cdd91899..867f4bd9 100644 --- a/lumina-desktop/LSession.h +++ b/lumina-desktop/LSession.h @@ -1,6 +1,6 @@ //=========================================== // Lumina-DE source code -// Copyright (c) 2012, Ken Moore +// Copyright (c) 2012-2015, Ken Moore // Available under the 3-clause BSD license // See the LICENSE file for full details //=========================================== @@ -74,6 +74,7 @@ public: } static void LaunchApplication(QString cmd); + QFileInfoList DesktopFiles(); AppMenu* applicationMenu(); void systemWindow(); @@ -81,7 +82,8 @@ public: LXCB *XCB; //class for XCB usage QSettings* sessionSettings(); - + QSettings* DesktopPluginSettings(); + //Play System Audio void playAudioFile(QString filepath); //Window Adjustment Routine (due to Fluxbox not respecting _NET_WM_STRUT) @@ -98,7 +100,7 @@ private: SystemWindow *sysWindow; QTranslator *currTranslator; QMediaPlayer *mediaObj; - QSettings *sessionsettings; + QSettings *sessionsettings, *DPlugSettings; bool cleansession; //System Tray Variables @@ -109,6 +111,7 @@ private: //Task Manager Variables QList<WId> RunningApps; + QFileInfoList desktopFiles; void CleanupSession(); @@ -151,6 +154,7 @@ signals: void IconThemeChanged(); void DesktopConfigChanged(); void SessionConfigChanged(); + void DesktopFilesChanged(); }; |