diff options
Diffstat (limited to 'src/Window.cpp')
| -rw-r--r-- | src/Window.cpp | 12 |
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); +} |
