summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-12 16:44:18 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-04-12 16:44:18 +0200
commitb6a93b2f0383fc8f084c7757f0f67b8c0ebeccc7 (patch)
tree9da15dc91a16ddbbb9c32161eda96c2be4073131 /src/layout/DwindleLayout.hpp
parent8197fded02f34e76527c0bc17cc69e4fea3cdda4 (diff)
Added window grouping for dwindle
furthermore, added LayoutRenderHints.
Diffstat (limited to 'src/layout/DwindleLayout.hpp')
-rw-r--r--src/layout/DwindleLayout.hpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/layout/DwindleLayout.hpp b/src/layout/DwindleLayout.hpp
index 8d849bcf..47da6cd3 100644
--- a/src/layout/DwindleLayout.hpp
+++ b/src/layout/DwindleLayout.hpp
@@ -2,6 +2,7 @@
#include "IHyprLayout.hpp"
#include <list>
+#include <deque>
class CHyprDwindleLayout;
@@ -13,6 +14,11 @@ struct SDwindleNodeData {
std::array<SDwindleNodeData*, 2> children = { nullptr, nullptr };
+ bool isGroup = false;
+ int groupMemberActive = 0;
+ std::deque<SDwindleNodeData*> groupMembers;
+ SDwindleNodeData* pGroupParent = nullptr;
+
Vector2D position;
Vector2D size;
@@ -26,6 +32,7 @@ struct SDwindleNodeData {
}
void recalcSizePosRecursive();
+ void getAllChildrenRecursive(std::deque<SDwindleNodeData*>*);
CHyprDwindleLayout* layout = nullptr;
};
@@ -41,6 +48,9 @@ public:
virtual void onMouseMove(const Vector2D&);
virtual void onWindowCreatedFloating(CWindow*);
virtual void fullscreenRequestForWindow(CWindow*);
+ virtual void toggleWindowGroup(CWindow*);
+ virtual void switchGroupWindow(CWindow*);
+ virtual SWindowRenderLayoutHints requestRenderHints(CWindow*);
private: