From 951e1c3b62bb671db88a4cdf80ea21583471953f Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Tue, 8 Mar 2022 20:30:49 +0100 Subject: [PATCH] Do not set focus to NoInterventions windows --- src/windowManager.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/windowManager.cpp b/src/windowManager.cpp index afead0e..dfe8c74 100644 --- a/src/windowManager.cpp +++ b/src/windowManager.cpp @@ -509,6 +509,12 @@ void CWindowManager::refreshDirtyWindows() { void CWindowManager::setFocusedWindow(xcb_drawable_t window) { if (window && window != Screen->root) { + const auto PNEWFOCUS = g_pWindowManager->getWindowFromDrawable(window); + + if (PNEWFOCUS && PNEWFOCUS->getNoInterventions()) { + Debug::log(LOG, "Not setting focus to a non-interventions window."); + return; + } Debug::log(LOG, "Setting focus to " + std::to_string(window)); @@ -530,8 +536,6 @@ void CWindowManager::setFocusedWindow(xcb_drawable_t window) { LastWindow = window; - const auto PNEWFOCUS = g_pWindowManager->getWindowFromDrawable(window); - if (PNEWFOCUS) { applyShapeToWindow(g_pWindowManager->getWindowFromDrawable(window));