98165c5b2f90a89a683565fae3bc013f150de223
- Author
- outfoxxed <outfoxxed@outfoxxed.me>
- Committer
- outfoxxed <outfoxxed@outfoxxed.me>
- Date
Message
Diff
This diff is truncated to protect this page.
1diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
2index e9dcbc849ea4e16a6360a1dffe4a20e170c07c93..8d4fc865583152ed3586d59228a568b7f96fbb65 100644
3--- a/src/Hy3Layout.cpp
4+++ b/src/Hy3Layout.cpp
5@@ -109,7 +109,7 @@ bool Hy3NodeData::operator==(const Hy3NodeData& rhs) const { return this == &rhs
6
7 bool Hy3Node::operator==(const Hy3Node& rhs) const { return this->data == rhs.data; }
8
9-void Hy3Node::recalcSizePosRecursive(bool force) {
10+void Hy3Node::recalcSizePosRecursive(bool no_animation) {
11 // clang-format off
12 static const auto* gaps_in = &HyprlandAPI::getConfigValue(PHANDLE, "general:gaps_in")->intValue;
13 static const auto* gaps_out = &HyprlandAPI::getConfigValue(PHANDLE, "general:gaps_out")->intValue;
14@@ -138,7 +138,7 @@ void Hy3Node::recalcSizePosRecursive(bool force) {
15
16 if (this->data.type != Hy3NodeData::Group) {
17 this->data.as_window->setHidden(this->hidden);
18- this->layout->applyNodeDataToWindow(this, force);
19+ this->layout->applyNodeDataToWindow(this, no_animation);
20 return;
21 }
22
23@@ -178,7 +178,7 @@ void Hy3Node::recalcSizePosRecursive(bool force) {
24
25 child->setHidden(this->hidden);
26
27- child->recalcSizePosRecursive(force);
28+ child->recalcSizePosRecursive(no_animation);
29 this->updateTabBar();
30 return;
31 }
32@@ -214,7 +214,7 @@ void Hy3Node::recalcSizePosRecursive(bool force) {
33 child->position.y = tpos.y;
34 child->size.y = tsize.y;
35 child->setHidden(this->hidden);
36- child->recalcSizePosRecursive(force);
37+ child->recalcSizePosRecursive(no_animation);
38 break;
39 case Hy3GroupLayout::SplitV:
40 child->position.y = tpos.y + offset;
41@@ -223,7 +223,7 @@ void Hy3Node::recalcSizePosRecursive(bool force) {
42 child->position.x = tpos.x;
43 child->size.x = tsize.x;
44 child->setHidden(this->hidden);
45- child->recalcSizePosRecursive(force);
46+ child->recalcSizePosRecursive(no_animation);
47 break;
48 case Hy3GroupLayout::Tabbed:
49 child->position.y = tpos.y + tab_height_offset;
50@@ -232,7 +232,7 @@ void Hy3Node::recalcSizePosRecursive(bool force) {
51 child->size.x = tsize.x;
52 bool hidden = this->hidden || group->focused_child != child;
53 child->setHidden(hidden);
54- child->recalcSizePosRecursive(force);
55+ child->recalcSizePosRecursive(no_animation);
56 break;
57 }
58
59@@ -645,9 +645,11 @@ Hy3Node* Hy3Layout::getNodeFromWindow(CWindow* window) {
60 return nullptr;
61 }
62
63-Hy3Node* Hy3Layout::getWorkspaceRootGroup(const int& id) {
64+Hy3Node* Hy3Layout::getWorkspaceRootGroup(const int& workspace) {
65 for (auto& node: this->nodes) {
66- if (node.workspace_id == id && node.parent == nullptr && node.data.type == Hy3NodeData::Group) {
67+ if (node.workspace_id == workspace && node.parent == nullptr
68+ && node.data.type == Hy3NodeData::Group)
69+ {
70 return &node;
71 }
72 }
73@@ -655,13 +657,13 @@ Hy3Node* Hy3Layout::getWorkspaceRootGroup(const int& id) {
74 return nullptr;
75 }
76
77-Hy3Node* Hy3Layout::getWorkspaceFocusedNode(const int& id) {
78- auto* rootNode = this->getWorkspaceRootGroup(id);
79+Hy3Node* Hy3Layout::getWorkspaceFocusedNode(const int& workspace) {
80+ auto* rootNode = this->getWorkspaceRootGroup(workspace);
81 if (rootNode == nullptr) return nullptr;
82 return rootNode->getFocusedNode();
83 }
84
85-void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool force) {
86+void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool no_animation) {
87 if (node->data.type != Hy3NodeData::Window) return;
88 CWindow* window = node->data.as_window;
89
90@@ -744,7 +746,7 @@ void Hy3Layout::applyNodeDataToWindow(Hy3Node* node, bool force) {
91
92 g_pXWaylandManager->setWindowSize(window, calcSize);
93
94- if (force) {
95+ if (no_animation) {
96 g_pHyprRenderer->damageWindow(window);
97
98 window->m_vRealPosition.warp();
99diff --git a/src/Hy3Layout.hpp b/src/Hy3Layout.hpp
100index 944b2f02148f7ff3d961de9a1bf15367f48ac471..ba201cf1e29e316d83c2504cf47367ff4a890e59 100644
101--- a/src/Hy3Layout.hpp
102+++ b/src/Hy3Layout.hpp
103@@ -75,8 +75,8 @@ public:
104
105 Hy3NodeData();
106 ~Hy3NodeData();
107- Hy3NodeData(CWindow*);
108- Hy3NodeData(Hy3GroupLayout);
109+ Hy3NodeData(CWindow* window);
110+ Hy3NodeData(Hy3GroupLayout layout);
111 Hy3NodeData& operator=(CWindow*);
112 Hy3NodeData& operator=(Hy3GroupLayout);
113
114@@ -99,7 +99,7 @@ struct Hy3Node {
115 bool valid = true;
116 Hy3Layout* layout = nullptr;
117
118- void recalcSizePosRecursive(bool force = false);
119+ void recalcSizePosRecursive(bool no_animation = false);
120 std::string debugNode();
121 void markFocused();
122 void focus();
123@@ -107,7 +107,7 @@ struct Hy3Node {
124 void raiseToTop();
125 Hy3Node* getFocusedNode();
126 void updateDecos();
127- void setHidden(bool hidden);
128+ void setHidden(bool);
129 void updateTabBar();
130 void updateTabBarRecursive();
131 bool isUrgent();
132@@ -119,7 +119,7 @@ struct Hy3Node {
133 bool operator==(const Hy3Node&) const;
134
135 // Attempt to swallow a group. returns true if swallowed
136- static bool swallowGroups(Hy3Node*);
137+ static bool swallowGroups(Hy3Node* into);
138 // Remove this node from its parent, deleting the parent if it was
139 // the only child and recursing if the parent was the only child of it's
140 // parent.
141@@ -137,36 +137,36 @@ public:
142 virtual void onWindowRemovedTiling(CWindow*);
143 virtual void onWindowFocusChange(CWindow*);
144 virtual bool isWindowTiled(CWindow*);
145- virtual void recalculateMonitor(const int&);
146+ virtual void recalculateMonitor(const int& monitor_id);
147 virtual void recalculateWindow(CWindow*);
148 virtual void onBeginDragWindow();
149- virtual void resizeActiveWindow(const Vector2D&, CWindow* pWindow = nullptr);
150- virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool);
151- virtual std::any layoutMessage(SLayoutMessageHeader, std::string);
152+ virtual void resizeActiveWindow(const Vector2D& delta, CWindow* pWindow = nullptr);
153+ virtual void fullscreenRequestForWindow(CWindow*, eFullscreenMode, bool enable_fullscreen);
154+ virtual std::any layoutMessage(SLayoutMessageHeader header, std::string content);
155 virtual SWindowRenderLayoutHints requestRenderHints(CWindow*);
156 virtual void switchWindows(CWindow*, CWindow*);
157 virtual void alterSplitRatio(CWindow*, float, bool);
158 virtual std::string getLayoutName();
159 virtual CWindow* getNextWindowCandidate(CWindow*);
160- virtual void replaceWindowDataWith(CWindow*, CWindow*);
161+ virtual void replaceWindowDataWith(CWindow* from, CWindow* to);
162
163 virtual void onEnable();
164 virtual void onDisable();
165
166- void makeGroupOnWorkspace(int, Hy3GroupLayout);
167- void makeOppositeGroupOnWorkspace(int);
168+ void makeGroupOnWorkspace(int workspace, Hy3GroupLayout);
169+ void makeOppositeGroupOnWorkspace(int workspace);
170 void makeGroupOn(Hy3Node*, Hy3GroupLayout);
171 void makeOppositeGroupOn(Hy3Node*);
172- void shiftWindow(int, ShiftDirection, bool);
173- void shiftFocus(int, ShiftDirection, bool);
174- void changeFocus(int, FocusShift);
175- void focusTab(int, TabFocus, TabFocusMousePriority, bool, int);
176- void killFocusedNode(int);
177+ void shiftWindow(int workspace, ShiftDirection, bool once);
178+ void shiftFocus(int workspace, ShiftDirection, bool visible);
179+ void changeFocus(int workspace, FocusShift);
180+ void focusTab(int workspace, TabFocus target, TabFocusMousePriority, bool wrap_scroll, int index);
181+ void killFocusedNode(int workspace);
182
183 bool shouldRenderSelected(CWindow*);
184
185- Hy3Node* getWorkspaceRootGroup(const int&);
186- Hy3Node* getWorkspaceFocusedNode(const int&);
187+ Hy3Node* getWorkspaceRootGroup(const int& workspace);
188+ Hy3Node* getWorkspaceFocusedNode(const int& workspace);
189
190 static void renderHook(void*, std::any);
191 static void windowGroupUrgentHook(void*, std::any);
192@@ -183,14 +183,14 @@ private:
193 bool yExtent = false;
194 } drag_flags;
195
196- int getWorkspaceNodeCount(const int&);
197+ int getWorkspaceNodeCount(const int& workspace);
198 Hy3Node* getNodeFromWindow(CWindow*);
199- void applyNodeDataToWindow(Hy3Node*, bool force = false);
200+ void applyNodeDataToWindow(Hy3Node*, bool no_animation = false);
201
202 // if shift is true, shift the window in the given direction, returning