summaryrefslogtreecommitdiff
path: root/src/Window.hpp
diff options
context:
space:
mode:
authorVaxry <43317083+vaxerski@users.noreply.github.com>2023-02-19 21:07:32 +0000
committerGitHub <noreply@github.com>2023-02-19 21:07:32 +0000
commite5a4c0c986f72813e8822f31ed3d5fa6be1b6c13 (patch)
tree8ce0ad44055c63e905303f49da61c9f44316170a /src/Window.hpp
parent2363cc2572c8b1f99a3ac5ff4104067b0503a302 (diff)
Group/Tab Rework (#1580)
Diffstat (limited to 'src/Window.hpp')
-rw-r--r--src/Window.hpp12
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;