aboutsummaryrefslogtreecommitdiff
path: root/src-qt5/core-utils/lumina-xconfig/ScreenSettings.h
diff options
context:
space:
mode:
Diffstat (limited to 'src-qt5/core-utils/lumina-xconfig/ScreenSettings.h')
-rw-r--r--src-qt5/core-utils/lumina-xconfig/ScreenSettings.h49
1 files changed, 49 insertions, 0 deletions
diff --git a/src-qt5/core-utils/lumina-xconfig/ScreenSettings.h b/src-qt5/core-utils/lumina-xconfig/ScreenSettings.h
new file mode 100644
index 00000000..770c4f95
--- /dev/null
+++ b/src-qt5/core-utils/lumina-xconfig/ScreenSettings.h
@@ -0,0 +1,49 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2016, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_SCREEN_SETTINGS_BACKEND_H
+#define _LUMINA_SCREEN_SETTINGS_BACKEND_H
+
+#include <QString>
+#include <QList>
+#include <QRect>
+
+class ScreenInfo{
+ public:
+ QString ID;
+ QRect geom; //screen geometry
+ bool isprimary;
+ bool isactive;
+ bool isavailable;
+ int order; //left to right
+ QStringList resList;
+
+ //Initial Defaults
+ ScreenInfo(){
+ order = -1; //initial value is invalid
+ isprimary = false;
+ isactive = false;
+ isavailable = false;
+ }
+ ~ScreenInfo(){}
+};
+
+class RRSettings{
+public:
+ //Reset current screen config to match previously-saved settings
+ static void ApplyPrevious(); //generally performed on startup of the desktop
+
+ //Read the current screen config from xrandr
+ static QList<ScreenInfo> CurrentScreens(); //reads xrandr information
+
+ //Save the screen config for later
+ static bool SaveScreens(QList<ScreenInfo> screens);
+
+ //Apply screen configuration
+ static void Apply(QList<ScreenInfo> screens);
+};
+
+#endif
bgstack15