aboutsummaryrefslogtreecommitdiff
path: root/libLumina/LuminaX11.h
diff options
context:
space:
mode:
Diffstat (limited to 'libLumina/LuminaX11.h')
-rw-r--r--libLumina/LuminaX11.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/libLumina/LuminaX11.h b/libLumina/LuminaX11.h
index e7cded49..ac232de1 100644
--- a/libLumina/LuminaX11.h
+++ b/libLumina/LuminaX11.h
@@ -20,6 +20,7 @@
#include <QX11Info>
#include <QDebug>
#include <QPainter>
+#include <QObject>
// Addition includes for compilations (cause issues with X11 libs later)
#include <QDir>
#include <QEvent>
@@ -33,6 +34,8 @@
//#include <X11/Xatom.h>
//#include <X11/extensions/Xrender.h>
+#include <xcb/xcb_ewmh.h>
+
//SYSTEM TRAY STANDARD DEFINITIONS
#define _NET_SYSTEM_TRAY_ORIENTATION_HORZ 0
#define _NET_SYSTEM_TRAY_ORIENTATION_VERT 1
@@ -46,6 +49,9 @@ class LX11{
public:
enum WINDOWSTATE {VISIBLE, INVISIBLE, ACTIVE, ATTENTION, IGNORE};
+ //Internal Use Functions
+ //static xcb_ewmh_connection_t* EWMH_C(); //Get the XCB_ewmh handle;
+
//General Info Functions
static QList<WId> WindowList(); //List all current windows
static QList<WId> GetClientList(); // _NET_WM_CLIENT list
@@ -102,4 +108,33 @@ public:
static QString getNetWMProp(WId win, QString prop); //Returns a _NET_WM_* string value
};
+//XCB Library replacement for LX11 (Qt5 uses XCB instead of XLib)
+class LXCB{
+
+private:
+ xcb_ewmh_connection_t EWMH;
+
+public:
+ enum WINDOWSTATE {VISIBLE, INVISIBLE, ACTIVE, ATTENTION, IGNORE};
+
+ LXCB();
+ ~LXCB();
+
+ //== Main Interface functions ==
+ // General Information
+ QList<WId> WindowList(bool rawlist = false); //list all non-Lumina windows (rawlist -> all workspaces)
+ unsigned int CurrentWorkspace();
+
+ //Session Modification
+
+
+ //Window Information
+ QString WindowClass(WId);
+ unsigned int WindowWorkspace(WId);
+ WINDOWSTATE WindowState(WId win); //Visible state of window
+
+ //Window Modification
+ void SetAsSticky(WId);
+};
+
#endif \ No newline at end of file
bgstack15