diff options
| author | Tom Englund <tomenglund26@gmail.com> | 2025-07-01 11:31:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-01 11:31:10 +0200 |
| commit | 8c37d2ce258df773ba7d8b10e7d0ff49d77ed476 (patch) | |
| tree | b7c84881e903295e6ec8876c3512929b3c3f921f /src/protocols/SessionLock.cpp | |
| parent | ee8978b961b9b02ed41bd7b6d1e91cc607b6b530 (diff) | |
sessionlock: restore cursor if hidden on unlock (#10889)
if session locks have hidden the cursor its gonna be missing unless a
new cursor shape is set, hovering windows makes us get one, moving the
wallpaper/desktop does not. set it again to left_ptr as is default on
compositor start.
Diffstat (limited to 'src/protocols/SessionLock.cpp')
| -rw-r--r-- | src/protocols/SessionLock.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/protocols/SessionLock.cpp b/src/protocols/SessionLock.cpp index a470117b..d3916fdc 100644 --- a/src/protocols/SessionLock.cpp +++ b/src/protocols/SessionLock.cpp @@ -6,6 +6,7 @@ #include "core/Compositor.hpp" #include "core/Output.hpp" #include "../helpers/Monitor.hpp" +#include "../render/Renderer.hpp" CSessionLockSurface::CSessionLockSurface(SP<CExtSessionLockSurfaceV1> resource_, SP<CWLSurfaceResource> surface_, PHLMONITOR pMonitor_, WP<CSessionLock> owner_) : m_resource(resource_), m_sessionLock(owner_), m_surface(surface_), m_monitor(pMonitor_) { @@ -120,6 +121,10 @@ CSessionLock::CSessionLock(SP<CExtSessionLockV1> resource_) : m_resource(resourc m_events.unlockAndDestroy.emit(); + // if lock tools have hidden it and doesnt restore it, we wont recieve a new cursor until the cursorshape protocol gives us one. + // so set it to left_ptr so the "desktop/wallpaper" doesnt end up missing a cursor until hover over a window sending us a shape. + g_pHyprRenderer->setCursorFromName("left_ptr"); + m_inert = true; PROTO::sessionLock->destroyResource(this); }); |
