From 849d65759546bb453481a4a7b5699c540027a05f Mon Sep 17 00:00:00 2001 From: outfoxxed Date: Tue, 25 Apr 2023 15:53:18 +0000 Subject: Window resizing for pseudotiled windows (#2140) * Window resizing for pseudotiled windows * Use `m_vRealSize` to determine scaled window size --- src/layout/DwindleLayout.hpp | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src/layout/DwindleLayout.hpp') 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 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; }; -- cgit v1.2.3