From 5d63152219514ecbe861cb70e9359adc0c5b2878 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Sat, 27 Aug 2022 13:01:55 +0200 Subject: added a forceinput rule --- src/events/Windows.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/events/Windows.cpp') diff --git a/src/events/Windows.cpp b/src/events/Windows.cpp index 63028c91..93ad18e5 100644 --- a/src/events/Windows.cpp +++ b/src/events/Windows.cpp @@ -159,6 +159,8 @@ void Events::listener_mapWindow(void* owner, void* data) { requestsFullscreen = true; } else if (r.szRule == "opaque") { PWINDOW->m_sAdditionalConfigData.forceOpaque = true; + } else if (r.szRule == "forceinput") { + PWINDOW->m_sAdditionalConfigData.forceAllowsInput = true; } else if (r.szRule.find("rounding") == 0) { try { PWINDOW->m_sAdditionalConfigData.rounding = std::stoi(r.szRule.substr(r.szRule.find_first_of(' ') + 1)); @@ -271,6 +273,12 @@ void Events::listener_mapWindow(void* owner, void* data) { const auto PFOCUSEDWINDOWPREV = g_pCompositor->m_pLastWindow; + if (PWINDOW->m_sAdditionalConfigData.forceAllowsInput) { + PWINDOW->m_bNoFocus = false; + PWINDOW->m_bNoInitialFocus = false; + PWINDOW->m_bX11ShouldntFocus = false; + } + if (!PWINDOW->m_bNoFocus && !PWINDOW->m_bNoInitialFocus && PWINDOW->m_iX11Type != 2) { g_pCompositor->focusWindow(PWINDOW); PWINDOW->m_fActiveInactiveAlpha.setValueAndWarp(*PACTIVEALPHA); -- cgit v1.2.3