aboutsummaryrefslogtreecommitdiff
path: root/src/niri.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/niri.rs')
-rw-r--r--src/niri.rs9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/niri.rs b/src/niri.rs
index 74632382..79d20639 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -5986,8 +5986,13 @@ impl Niri {
.event_loop
.insert_source(timer, move |_, _, state| {
state.niri.pointer_inactivity_timer = None;
- state.niri.pointer_visibility = PointerVisibility::Hidden;
- state.niri.queue_redraw_all();
+
+ // If the pointer is already invisible, don't reset it back to Hidden causing one
+ // frame of hover.
+ if state.niri.pointer_visibility.is_visible() {
+ state.niri.pointer_visibility = PointerVisibility::Hidden;
+ state.niri.queue_redraw_all();
+ }
TimeoutAction::Drop
})