summaryrefslogtreecommitdiff
path: root/src/layout/DwindleLayout.hpp
diff options
context:
space:
mode:
authoroutfoxxed <outfoxxed@outfoxxed.me>2023-04-25 15:53:18 +0000
committerGitHub <noreply@github.com>2023-04-25 16:53:18 +0100
commit849d65759546bb453481a4a7b5699c540027a05f (patch)
tree28db817daa1d961b8ee526c22a0609893d6d729a /src/layout/DwindleLayout.hpp
parentbf27066fd7479ec161b7e52467bca56d1fa65e6d (diff)
Window resizing for pseudotiled windows (#2140)
* Window resizing for pseudotiled windows * Use `m_vRealSize` to determine scaled window size
Diffstat (limited to 'src/layout/DwindleLayout.hpp')
-rw-r--r--src/layout/DwindleLayout.hpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/src/layout/DwindleLayout.hpp b/src/layout/DwindleLayout.hpp
index d0142ec7..164596a3 100644
--- a/src/layout/DwindleLayout.hpp
+++ b/src/layout/DwindleLayout.hpp
@@ -46,6 +46,7 @@ class CHyprDwindleLayout : public IHyprLayout {
virtual bool isWindowTiled(CWindow*);
virtual void recalculateMonitor(const int&);
virtual void recalculateWindow(CWindow*);
+ virtual void onBeginDragWindow();
virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr);
virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool);
virtual std::any layoutMessage(SLayoutMessageHeader, std::string);
@@ -61,13 +62,20 @@ class CHyprDwindleLayout : public IHyprLayout {
private:
std::list<SDwindleNodeData> m_lDwindleNodesData;
- int getNodesOnWorkspace(const int&);
- void applyNodeDataToWindow(SDwindleNodeData*, bool force = false);
- SDwindleNodeData* getNodeFromWindow(CWindow*);
- SDwindleNodeData* getFirstNodeOnWorkspace(const int&);
- SDwindleNodeData* getMasterNodeOnWorkspace(const int&);
+ struct {
+ bool started = false;
+ bool pseudo = false;
+ bool xExtent = false;
+ bool yExtent = false;
+ } m_PseudoDragFlags;
- void toggleSplit(CWindow*);
+ int getNodesOnWorkspace(const int&);
+ void applyNodeDataToWindow(SDwindleNodeData*, bool force = false);
+ SDwindleNodeData* getNodeFromWindow(CWindow*);
+ SDwindleNodeData* getFirstNodeOnWorkspace(const int&);
+ SDwindleNodeData* getMasterNodeOnWorkspace(const int&);
+
+ void toggleSplit(CWindow*);
friend struct SDwindleNodeData;
};