summaryrefslogtreecommitdiff
path: root/src/Window.cpp
diff options
context:
space:
mode:
authorvaxerski <vaxry@vaxry.net>2023-12-23 22:30:49 +0100
committervaxerski <vaxry@vaxry.net>2023-12-23 22:30:56 +0100
commitd5811283d27619711b031a26db0d04c8d859e6be (patch)
tree8b8140686ac97249b2da1f40b5ce784183fb3134 /src/Window.cpp
parent5c7e23f86b2a1c79650772dfc8e85cff9475a14c (diff)
xdgshell: bump to 6, send suspended states
Diffstat (limited to 'src/Window.cpp')
-rw-r--r--src/Window.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Window.cpp b/src/Window.cpp
index 1c4a326d..9df8ef69 100644
--- a/src/Window.cpp
+++ b/src/Window.cpp
@@ -511,6 +511,8 @@ void CWindow::setHidden(bool hidden) {
if (hidden && g_pCompositor->m_pLastWindow == this) {
g_pCompositor->m_pLastWindow = nullptr;
}
+
+ setSuspended(hidden);
}
bool CWindow::isHidden() {
@@ -1007,3 +1009,13 @@ bool CWindow::shouldSendFullscreenState() {
const auto MODE = g_pCompositor->getWorkspaceByID(m_iWorkspaceID)->m_efFullscreenMode;
return m_bFakeFullscreenState || (m_bIsFullscreen && (MODE == FULLSCREEN_FULL));
}
+
+void CWindow::setSuspended(bool suspend) {
+ if (suspend == m_bSuspended)
+ return;
+
+ if (m_bIsX11)
+ return;
+
+ wlr_xdg_toplevel_set_suspended(m_uSurface.xdg->toplevel, suspend);
+}