summaryrefslogtreecommitdiff
path: root/src/helpers/Monitor.cpp
diff options
context:
space:
mode:
authorthejch <66577496+thejch@users.noreply.github.com>2024-03-07 05:27:58 -0800
committerGitHub <noreply@github.com>2024-03-07 13:27:58 +0000
commit6c4e2489a0a153ac2a92744ecb2985280c97fc89 (patch)
treed0cf1513ab82696815565af197a90c956cdc261c /src/helpers/Monitor.cpp
parentbf71026b8d31edc86a97222ef0fbec4972635cac (diff)
layout: Fix toggling fullscreen special workspace on different monitor (#5000)
* fix toggling fullscreen special ws on different monitor * add for dwindle * fix change regular workspace when special fullscreen
Diffstat (limited to 'src/helpers/Monitor.cpp')
-rw-r--r--src/helpers/Monitor.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/helpers/Monitor.cpp b/src/helpers/Monitor.cpp
index 7b694d48..06ea0fa5 100644
--- a/src/helpers/Monitor.cpp
+++ b/src/helpers/Monitor.cpp
@@ -603,6 +603,12 @@ void CMonitor::changeWorkspace(CWorkspace* const pWorkspace, bool internal, bool
g_pConfigManager->ensureVRR(this);
g_pCompositor->updateSuspendedStates();
+
+ if (specialWorkspaceID) {
+ const auto PSPECIALWS = g_pCompositor->getWorkspaceByID(specialWorkspaceID);
+ if (PSPECIALWS->m_bHasFullscreenWindow)
+ g_pCompositor->updateFullscreenFadeOnWorkspace(PSPECIALWS);
+ }
}
void CMonitor::changeWorkspace(const int& id, bool internal, bool noMouseMove, bool noFocus) {
@@ -649,6 +655,10 @@ void CMonitor::setSpecialWorkspace(CWorkspace* const pWorkspace) {
PMONITORWORKSPACEOWNER->specialWorkspaceID = 0;
g_pLayoutManager->getCurrentLayout()->recalculateMonitor(PMONITORWORKSPACEOWNER->ID);
g_pEventManager->postEvent(SHyprIPCEvent{"activespecial", "," + PMONITORWORKSPACEOWNER->szName});
+
+ const auto PACTIVEWORKSPACE = g_pCompositor->getWorkspaceByID(PMONITORWORKSPACEOWNER->activeWorkspace);
+ g_pCompositor->updateFullscreenFadeOnWorkspace(PACTIVEWORKSPACE);
+
animate = false;
}