93759c8032995eb566008537389543b3e1b4a65c

Author
outfoxxed <outfoxxed@outfoxxed.me>
Committer
outfoxxed <outfoxxed@outfoxxed.me>
Date

Message

fixup: fix compile after hyprland#7104

Diff

This diff is truncated to protect this page.

  1diff --git a/flake.lock b/flake.lock
  2index 50bae0861d0d95576e0796b954b4c4f10ad7582a..623b35480553ed446c347d468441719630ece82c 100644
  3--- a/flake.lock
  4+++ b/flake.lock
  5@@ -20,11 +20,11 @@
  6         ]
  7       },
  8       "locked": {
  9-        "lastModified": 1721487522,
 10-        "narHash": "sha256-aF3uwUwUK2CgbItoMe3IJF0yidIEWcDx47AiH5y8VKk=",
 11+        "lastModified": 1722347739,
 12+        "narHash": "sha256-rAoh+K6KG+b1DwSWtqRVocdojnH6nGk6q07mNltoUSM=",
 13         "owner": "hyprwm",
 14         "repo": "aquamarine",
 15-        "rev": "acfea3bd1d9e756c7152e639240d52c6628844b0",
 16+        "rev": "7c3565f9bedc7cb601cc0baa14792247e4dc1d5a",
 17         "type": "github"
 18       },
 19       "original": {
 20@@ -49,11 +49,11 @@
 21         ]
 22       },
 23       "locked": {
 24-        "lastModified": 1720108799,
 25-        "narHash": "sha256-AxRkTJlbB8r7aG6gvc7IaLhc2T9TO4/8uqanKRxukBQ=",
 26+        "lastModified": 1721330371,
 27+        "narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=",
 28         "owner": "hyprwm",
 29         "repo": "hyprcursor",
 30-        "rev": "a5c0d57325c5f0814c39110a70ca19c070ae9486",
 31+        "rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc",
 32         "type": "github"
 33       },
 34       "original": {
 35@@ -74,17 +74,17 @@
 36         "xdph": "xdph"
 37       },
 38       "locked": {
 39-        "lastModified": 1721579057,
 40-        "narHash": "sha256-x/RIzkL8PwLDNiRV/R308RdCmS8h3G9Xf62XVH/WAp0=",
 41+        "lastModified": 1722519799,
 42+        "narHash": "sha256-NXeB/KgCbklksgTfHNef0/CfTXmw88YOrh2Q/87S2RM=",
 43         "ref": "refs/heads/main",
 44-        "rev": "928d1dd38a6e4a791d4a4374a4a3bf02311adbb2",
 45-        "revCount": 4942,
 46+        "rev": "ab0a3268e04f2295ec4455be90ce8d0c2b107b8d",
 47+        "revCount": 5040,
 48         "submodules": true,
 49         "type": "git",
 50         "url": "https://github.com/hyprwm/Hyprland"
 51       },
 52       "original": {
 53-        "rev": "928d1dd38a6e4a791d4a4374a4a3bf02311adbb2",
 54+        "rev": "ab0a3268e04f2295ec4455be90ce8d0c2b107b8d",
 55         "submodules": true,
 56         "type": "git",
 57         "url": "https://github.com/hyprwm/Hyprland"
 58@@ -104,11 +104,11 @@
 59         ]
 60       },
 61       "locked": {
 62-        "lastModified": 1718746314,
 63-        "narHash": "sha256-HUklK5u86w2Yh9dOkk4FdsL8eehcOZ95jPhLixGDRQY=",
 64+        "lastModified": 1721326555,
 65+        "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=",
 66         "owner": "hyprwm",
 67         "repo": "hyprland-protocols",
 68-        "rev": "1b61f0093afff20ab44d88ad707aed8bf2215290",
 69+        "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84",
 70         "type": "github"
 71       },
 72       "original": {
 73@@ -133,11 +133,11 @@
 74         ]
 75       },
 76       "locked": {
 77-        "lastModified": 1720381373,
 78-        "narHash": "sha256-lyC/EZdHULsaAKVryK11lgHY9u6pXr7qR4irnxNWC7k=",
 79+        "lastModified": 1721324361,
 80+        "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=",
 81         "owner": "hyprwm",
 82         "repo": "hyprlang",
 83-        "rev": "5df0174fd09de4ac5475233d65ffc703e89b82eb",
 84+        "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086",
 85         "type": "github"
 86       },
 87       "original": {
 88@@ -158,11 +158,11 @@
 89         ]
 90       },
 91       "locked": {
 92-        "lastModified": 1721071737,
 93-        "narHash": "sha256-qmC9jGfbE4+EIBbbSAkrfR/p49wShjpv4/KztgE/P54=",
 94+        "lastModified": 1722098849,
 95+        "narHash": "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=",
 96         "owner": "hyprwm",
 97         "repo": "hyprutils",
 98-        "rev": "eb1ceff2b87f6820789249f63faa8e9dcb54d05f",
 99+        "rev": "5dcbbc1e3de40b2cecfd2007434d86e924468f1f",
100         "type": "github"
101       },
102       "original": {
103@@ -183,11 +183,11 @@
104         ]
105diff --git a/flake.nix b/flake.nix
106index 9fd22573e1509726884536e43b7b9d762ee08004..3fc5f5758cc923211b1f95ee4187c4ad53ec1fdf 100644
107--- a/flake.nix
108+++ b/flake.nix
109@@ -1,6 +1,6 @@
110 {
111   inputs = {
112-    hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1&rev=928d1dd38a6e4a791d4a4374a4a3bf02311adbb2";
113+    hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1&rev=ab0a3268e04f2295ec4455be90ce8d0c2b107b8d";
114   };
115 
116   outputs = { self, hyprland, ... }: let
117diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
118index 6f65e7393ab2d8d8e381f00b5cdf0990ad7d4f98..d8d6b627ead7947e461a8d6bb134c14171f57004 100644
119--- a/src/Hy3Layout.cpp
120+++ b/src/Hy3Layout.cpp
121@@ -303,8 +303,8 @@ void Hy3Layout::onWindowRemovedTiling(PHLWINDOW window) {
122 
123 	window->unsetWindowData(PRIORITY_LAYOUT);
124 
125-	if (window->m_bIsFullscreen) {
126-		g_pCompositor->setWindowFullscreen(window, false, FULLSCREEN_FULL);
127+	if (window->isFullscreen()) {
128+		g_pCompositor->setWindowFullscreenInternal(window, FSMODE_NONE);
129 	}
130 
131 	Hy3Node* expand_actor = nullptr;
132@@ -492,24 +492,17 @@ void Hy3Layout::resizeActiveWindow(const Vector2D& delta, eRectCorner corner, PH
133 
134 void Hy3Layout::fullscreenRequestForWindow(
135     PHLWINDOW window,
136-    eFullscreenMode fullscreen_mode,
137-    bool on
138+    eFullscreenMode current_mode,
139+    eFullscreenMode target_mode
140 ) {
141-	if (on == window->m_bIsFullscreen || window->m_pWorkspace->m_bIsSpecialWorkspace) return;
142+	if (current_mode == target_mode || window->m_pWorkspace->m_bIsSpecialWorkspace) return;
143 
144 	const auto monitor = g_pCompositor->getMonitorFromID(window->m_iMonitorID);
145-	if (window->m_pWorkspace->m_bHasFullscreenWindow && on) return;
146-
147-	window->m_bIsFullscreen = on;
148-	window->m_pWorkspace->m_bHasFullscreenWindow = !window->m_pWorkspace->m_bHasFullscreenWindow;
149 
150 	window->updateDynamicRules();
151 	window->updateWindowDecos();
152 
153-	g_pEventManager->postEvent(SHyprIPCEvent {"fullscreen", std::to_string((int) on)});
154-	EMIT_HOOK_EVENT("fullscreen", window);
155-
156-	if (!window->m_bIsFullscreen) {
157+	if (target_mode == FSMODE_NONE) {
158 		auto* node = this->getNodeFromWindow(window);
159 
160 		if (node) {
161@@ -523,8 +516,6 @@ void Hy3Layout::fullscreenRequestForWindow(
162 			window->unsetWindowData(PRIORITY_LAYOUT);
163 		}
164 	} else {
165-		window->m_pWorkspace->m_efFullscreenMode = fullscreen_mode;
166-
167 		// save position and size if floating
168 		if (window->m_bIsFloating) {
169 			window->m_vLastFloatingPosition = window->m_vRealPosition.goal();
170@@ -533,7 +524,7 @@ void Hy3Layout::fullscreenRequestForWindow(
171 			window->m_vSize = window->m_vRealSize.goal();
172 		}
173 
174-		if (fullscreen_mode == FULLSCREEN_FULL) {
175+		if (target_mode == FSMODE_FULLSCREEN) {
176 			window->m_vRealPosition = monitor->vecPosition;
177 			window->m_vRealSize = monitor->vecSize;
178 		} else {
179@@ -569,10 +560,7 @@ void Hy3Layout::fullscreenRequestForWindow(
180 		}
181 	}
182 
183-	g_pCompositor->updateWindowAnimatedDecorationValues(window);
184-	g_pXWaylandManager->setWindowSize(window, window->m_vRealSize.goal());
185 	g_pCompositor->changeWindowZOrder(window, true);
186-	this->recalculateMonitor(monitor->ID);
187 }
188 
189 std::any Hy3Layout::layoutMessage(SLayoutMessageHeader header, std::string content) {
190@@ -994,7 +982,7 @@ void Hy3Layout::moveNodeToWorkspace(const PHLWORKSPACE& origin, std::string wsna
191 
192 	// floating or fullscreen
193 	if (focused_window != nullptr
194-	    && (focused_window_node == nullptr || focused_window->m_bIsFullscreen))
195+	    && (focused_window_node == nullptr || focused_window->isFullscreen()))
196 	{
197 		g_pHyprRenderer->damageWindow(focused_window);
198 		g_pCompositor->moveWindowToWorkspaceSafe(focused_window, workspace);
199@@ -1288,14 +1276,14 @@ void Hy3Layout::expand(
200 	if (node == nullptr) return;
201 	PHLWINDOW window;
202 
203-	const auto monitor = g_pCompositor->getMonitorFromID(workspace->m_iMonitorID);
204+	//const auto monitor = g_pCompositor->getMonitorFromID(workspace->m_iMonitorID);
205 
206 	switch (option) {
207 	case ExpandOption::Expand: {
208 		if (node->parent == nullptr) {
209 			switch (fs_option) {
210 			case ExpandFullscreenOption::MaximizeAsFullscreen:
211-			case ExpandFullscreenOption::MaximizeIntermediate: goto fullscreen;
212+			case ExpandFullscreenOption::MaximizeIntermediate:// goto fullscreen;
213 			case ExpandFullscreenOption::MaximizeOnly: return;
214 			}
215 		}
216@@ -1311,7 +1299,7 @@ void Hy3Layout::expand(
217 
218 		if (node->parent->parent == nullptr) {
219 			switch (fs_option) {
220-			case ExpandFullscreenOption::MaximizeAsFullscreen: goto fullscreen;
221diff --git a/src/Hy3Layout.hpp b/src/Hy3Layout.hpp
222index e73938afbbe581c982d2edf51cab1d1866f3ad08..4817188a3a8924f4907548bb263ff1e006f2c208 100644
223--- a/src/Hy3Layout.hpp
224+++ b/src/Hy3Layout.hpp
225@@ -79,7 +79,7 @@ public:
226 	void recalculateWindow(PHLWINDOW) override;
227 	void resizeActiveWindow(const Vector2D& delta, eRectCorner corner, PHLWINDOW pWindow = nullptr)
228 	    override;
229-	void fullscreenRequestForWindow(PHLWINDOW, eFullscreenMode, bool enable_fullscreen) override;
230+	void fullscreenRequestForWindow(PHLWINDOW, eFullscreenMode current_mode, eFullscreenMode target_mode) override;
231 	std::any layoutMessage(SLayoutMessageHeader header, std::string content) override;
232 	SWindowRenderLayoutHints requestRenderHints(PHLWINDOW) override;
233 	void switchWindows(PHLWINDOW, PHLWINDOW) override;
234diff --git a/src/Hy3Node.cpp b/src/Hy3Node.cpp
235index 32a93942dbfdeb4c6322471645080a571ba5ee6d..113d3db97a42ddb0415fbbc57955f4349f1443d4 100644
236--- a/src/Hy3Node.cpp
237+++ b/src/Hy3Node.cpp
238@@ -316,11 +316,11 @@ void Hy3Node::recalcSizePosRecursive(bool no_animation) {
239 	);
240 	// clang-format on
241 
242-	if (this->data.is_window() && this->data.as_window()->m_bIsFullscreen) {
243+	if (this->data.is_window() && this->data.as_window()->isFullscreen()) {
244 		auto window = this->data.as_window();
245 		auto* monitor = g_pCompositor->getMonitorFromID(this->workspace->m_iMonitorID);
246 
247-		if (this->workspace->m_efFullscreenMode == FULLSCREEN_FULL) {
248+		if (window->isEffectiveInternalFSMode(FSMODE_FULLSCREEN)) {
249 			window->m_vRealPosition = monitor->vecPosition;
250 			window->m_vRealSize = monitor->vecSize;
251 			return;