summaryrefslogtreecommitdiff
path: root/src/events/Windows.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-27 13:01:55 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2022-08-27 13:01:55 +0200
commit5d63152219514ecbe861cb70e9359adc0c5b2878 (patch)
tree3ece5ad7e8d006da60fdee6b0f0d817b86c388ee /src/events/Windows.cpp
parentaaa834d0c3a3b49c82ef2b6c76fb098ea7e30a73 (diff)
added a forceinput rule
Diffstat (limited to 'src/events/Windows.cpp')
-rw-r--r--src/events/Windows.cpp8
1 files changed, 8 insertions, 0 deletions
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);