diff options
| author | Vaxry <43317083+vaxerski@users.noreply.github.com> | 2023-02-19 21:07:32 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-02-19 21:07:32 +0000 |
| commit | e5a4c0c986f72813e8822f31ed3d5fa6be1b6c13 (patch) | |
| tree | 8ce0ad44055c63e905303f49da61c9f44316170a /src/Window.hpp | |
| parent | 2363cc2572c8b1f99a3ac5ff4104067b0503a302 (diff) | |
Group/Tab Rework (#1580)
Diffstat (limited to 'src/Window.hpp')
| -rw-r--r-- | src/Window.hpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Window.hpp b/src/Window.hpp index 658bdceb..65ac78f5 100644 --- a/src/Window.hpp +++ b/src/Window.hpp @@ -273,6 +273,12 @@ class CWindow { // for idle inhibiting windows eIdleInhibitMode m_eIdleInhibitMode = IDLEINHIBIT_NONE; + // for groups + struct SGroupData { + CWindow* pNextWindow = nullptr; // nullptr means no grouping. Self means single group. + bool head = false; + } m_sGroupData; + // For the list lookup bool operator==(const CWindow& rhs) { return m_uSurface.xdg == rhs.m_uSurface.xdg && m_uSurface.xwayland == rhs.m_uSurface.xwayland && m_vPosition == rhs.m_vPosition && m_vSize == rhs.m_vSize && @@ -303,6 +309,12 @@ class CWindow { bool isInCurvedCorner(double x, double y); bool hasPopupAt(const Vector2D& pos); + CWindow* getGroupHead(); + CWindow* getGroupTail(); + CWindow* getGroupCurrent(); + void setGroupCurrent(CWindow* pWindow); + void insertWindowToGroup(CWindow* pWindow); + private: // For hidden windows and stuff bool m_bHidden = false; |
