aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop/LSession.h
diff options
context:
space:
mode:
authorKen Moore <ken@pcbsd.org>2015-06-14 17:53:11 -0400
committerKen Moore <ken@pcbsd.org>2015-06-14 17:53:11 -0400
commit33494b8f9177a9c1b3d936e974ad553fc07ae859 (patch)
tree93b404510a04f5dcb76dc0e35ccac144c6d5cb68 /lumina-desktop/LSession.h
parentAdd a QtQuick sample plugin and disable the new panel container for QtQuick p... (diff)
downloadlumina-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.h10
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();
};
bgstack15