summaryrefslogtreecommitdiff
path: root/src/Window.cpp
diff options
context:
space:
mode:
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);
+}