#pragma once #include #include #include #include #include #define noID -1 struct Client { int ID; Window w; bool floating; bool fullscreen; }; enum TileDir { horizontal, vertical, noDir }; struct RootData { std::vector 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 subFrameIDs; // Null if not root RootData* rootData; }; struct ScreenInfo { std::string name; int x, y, w, h; };