summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.hpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-19 20:30:21 +0100
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-03-19 20:30:21 +0100
commitcf76b9060636c03e495fe522f7b4c251327adc98 (patch)
tree424cb5592f17e6a8b492a45e1baa562f4afc2fd6 /src/layout/DwindleLayout.hpp
parentf9a4e9aecd2f38d0f82f24ac2dd4a1f9d4d84045 (diff)
multimon fixes
Diffstat (limited to 'src/layout/DwindleLayout.hpp')
-rw-r--r--src/layout/DwindleLayout.hpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/layout/DwindleLayout.hpp b/src/layout/DwindleLayout.hpp
index b666d72a..0b32fc8d 100644
--- a/src/layout/DwindleLayout.hpp
+++ b/src/layout/DwindleLayout.hpp
@@ -3,6 +3,8 @@
#include "IHyprLayout.hpp"
#include <list>
+class CHyprDwindleLayout;
+
struct SDwindleNodeData {
SDwindleNodeData* pParent = nullptr;
bool isNode = false;
@@ -18,10 +20,11 @@ struct SDwindleNodeData {
// For list lookup
bool operator==(const SDwindleNodeData& rhs) {
- return pWindow == rhs.pWindow && monitorID == rhs.monitorID && position == rhs.position && size == rhs.size && pParent == rhs.pParent;
+ return pWindow == rhs.pWindow && monitorID == rhs.monitorID && position == rhs.position && size == rhs.size && pParent == rhs.pParent && children[0] == rhs.children[0] && children[1] == rhs.children[1];
}
- // TODO: recalcsizepos for dynamic
+ void recalcSizePosRecursive();
+ CHyprDwindleLayout* layout = nullptr;
};
class CHyprDwindleLayout : public IHyprLayout {
@@ -37,4 +40,7 @@ private:
void applyNodeDataToWindow(SDwindleNodeData*);
SDwindleNodeData* getNodeFromWindow(CWindow*);
SDwindleNodeData* getFirstNodeOnMonitor(const int&);
+ SDwindleNodeData* getMasterNodeOnMonitor(const int&);
+
+ friend struct SDwindleNodeData;
}; \ No newline at end of file