summaryrefslogtreecommitdiff
path: root/src/structs.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/structs.h')
-rw-r--r--src/structs.h55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/structs.h b/src/structs.h
new file mode 100644
index 0000000..5273f52
--- /dev/null
+++ b/src/structs.h
@@ -0,0 +1,55 @@
+#pragma once
+
+#include <X11/Xlib.h>
+
+#include <X11/extensions/Xrandr.h>
+#include <string>
+#include <vector>
+
+#define noID -1
+
+struct Client
+{
+ int ID;
+ Window w;
+ bool floating;
+ bool fullscreen;
+};
+
+enum TileDir
+{
+ horizontal,
+ vertical,
+ noDir
+};
+
+struct RootData
+{
+ std::vector<int> floatingFrameIDs;
+ Window focus;
+ //int workspaceNumber;
+};
+
+struct Frame
+{
+ int ID;
+ int pID;
+
+ bool isClient;
+
+ // If its a client (window)
+ int cID;
+
+ // If it isn't a client
+ TileDir dir;
+ std::vector<int> subFrameIDs;
+
+ // Null if not root
+ RootData* rootData;
+};
+
+struct ScreenInfo
+{
+ std::string name;
+ int x, y, w, h;
+};