2728dbed6a2a038fc542ef5837af4a185146ce4d

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

Message

fix: emit fullscreen event and update window rules+decos on fullscreen

Diff

 1diff --git a/CHANGELOG.md b/CHANGELOG.md
 2index 52aa26a69ae6099323df014d500062a71a15ab74..31c6a9661deb11f4eb496a4bda52c1a0f821a7ec 100644
 3--- a/CHANGELOG.md
 4+++ b/CHANGELOG.md
 5@@ -1,5 +1,8 @@
 6 # Changelog
 7 
 8+# Upcoming
 9+- Fixed IPC and wlr-foreign-toplevel not getting fullscreen and maximize events.
10+
11 ## hl0.40.0 and before
12 
13 - Added `hy3:warpcursor` dispatcher to warp cursor to current node.
14diff --git a/src/Hy3Layout.cpp b/src/Hy3Layout.cpp
15index 12963f863ce4b2c630721cce1671f6cc6f799b2d..dad84042d679b1bd3ef97a7323c8ab82cb513e34 100644
16--- a/src/Hy3Layout.cpp
17+++ b/src/Hy3Layout.cpp
18@@ -503,6 +503,12 @@ void Hy3Layout::fullscreenRequestForWindow(
19 	window->m_bIsFullscreen = on;
20 	window->m_pWorkspace->m_bHasFullscreenWindow = !window->m_pWorkspace->m_bHasFullscreenWindow;
21 
22+	window->updateDynamicRules();
23+	window->updateWindowDecos();
24+
25+	g_pEventManager->postEvent(SHyprIPCEvent {"fullscreen", std::to_string((int) on)});
26+	EMIT_HOOK_EVENT("fullscreen", window);
27+
28 	if (!window->m_bIsFullscreen) {
29 		auto* node = this->getNodeFromWindow(window);
30