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
This commit is contained in:
Maximilian Seidler
2024-09-04 15:59:00 +00:00
committed by GitHub
parent ea10592ad3
commit 027140b731
3 changed files with 32 additions and 29 deletions

View File

@@ -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);
});