diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2023-04-25 15:53:18 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-04-25 16:53:18 +0100 |
| commit | 849d65759546bb453481a4a7b5699c540027a05f (patch) | |
| tree | 28db817daa1d961b8ee526c22a0609893d6d729a /src/layout/DwindleLayout.hpp | |
| parent | bf27066fd7479ec161b7e52467bca56d1fa65e6d (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.hpp | 20 |
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; }; |
