3
0
mirror of https://github.com/hyprwm/Hyprland.git synced 2026-02-04 20:45:41 +00:00

input/ti: avoid sending events to inactive TIs

ref https://github.com/hyprwm/Hyprland/discussions/12105
This commit is contained in:
Vaxry
2026-01-01 14:48:32 +01:00
parent 2ca2c1c701
commit 429e366afd
3 changed files with 10 additions and 0 deletions

View File

@ -75,6 +75,11 @@ CTextInput* CInputMethodRelay::getFocusedTextInput() {
if (!Desktop::focusState()->surface())
return nullptr;
for (auto const& ti : m_textInputs) {
if (ti->focusedSurface() == Desktop::focusState()->surface() && ti->isEnabled())
return ti.get();
}
for (auto const& ti : m_textInputs) {
if (ti->focusedSurface() == Desktop::focusState()->surface())
return ti.get();

View File

@ -305,3 +305,7 @@ bool CTextInput::hasCursorRectangle() {
CBox CTextInput::cursorBox() {
return CBox{isV3() ? m_v3Input->m_current.box.cursorBox : m_v1Input->m_cursorRectangle};
}
bool CTextInput::isEnabled() {
return isV3() ? m_v3Input->m_current.enabled.value : true;
}

View File

@ -29,6 +29,7 @@ class CTextInput {
void onCommit();
void onReset();
bool isEnabled();
bool hasCursorRectangle();
CBox cursorBox();