summaryrefslogtreecommitdiff
path: root/src/managers/SessionLockManager.cpp
diff options
context:
space:
mode:
authorMaximilian Seidler <78690852+PaideiaDilemma@users.noreply.github.com>2024-09-04 15:59:00 +0000
committerGitHub <noreply@github.com>2024-09-04 16:59:00 +0100
commit027140b7315efe3cd2e7b78fa608bd36da839894 (patch)
tree11ec0b5a901b4a25b0b6dc469074f8697eeb88cb /src/managers/SessionLockManager.cpp
parentea10592ad3c861ff2ce73ad7785bcb5a45a9e400 (diff)
sessionLock: ensure sls focus in some edge cases (#7647)
* input: return early in mouseMoveUnified when the session is locked * sessionLock: make make a commit an opportunity to focus session lock surfaces * compositor: allow resetting focus when session is locked * input: remove redundant PMONITOR checks PMONITOR is checked above * input: check isSessionLocked earlier in mouseMoveUnified A bit of reordering, so that we don't call some stuff that is irrelevant when the session is locked
Diffstat (limited to 'src/managers/SessionLockManager.cpp')
-rw-r--r--src/managers/SessionLockManager.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/managers/SessionLockManager.cpp b/src/managers/SessionLockManager.cpp
index 7267b8f2..260a3992 100644
--- a/src/managers/SessionLockManager.cpp
+++ b/src/managers/SessionLockManager.cpp
@@ -30,6 +30,9 @@ SSessionLockSurface::SSessionLockSurface(SP<CSessionLockSurface> surface_) : sur
listeners.commit = surface_->events.commit.registerListener([this](std::any data) {
const auto PMONITOR = g_pCompositor->getMonitorFromID(iMonitorID);
+ if (mapped && pWlrSurface != g_pCompositor->m_pLastFocus)
+ g_pInputManager->simulateMouseMovement();
+
if (PMONITOR)
g_pHyprRenderer->damageMonitor(PMONITOR);
});