aboutsummaryrefslogtreecommitdiff
path: root/src/handlers
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-10-29 14:04:38 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-10-30 14:00:27 +0400
commit088877889d738e7d539243a239441bd82eb44a2c (patch)
tree59f189318ef70af0e91e4d061543ff7840e8b6ae /src/handlers
parent5c24754435b6681f74800fb5a91444a9c5e5ac78 (diff)
downloadniri-088877889d738e7d539243a239441bd82eb44a2c.tar.gz
niri-088877889d738e7d539243a239441bd82eb44a2c.tar.bz2
niri-088877889d738e7d539243a239441bd82eb44a2c.zip
Add cursor-shape protocol
Diffstat (limited to 'src/handlers')
-rw-r--r--src/handlers/compositor.rs3
-rw-r--r--src/handlers/mod.rs11
2 files changed, 8 insertions, 6 deletions
diff --git a/src/handlers/compositor.rs b/src/handlers/compositor.rs
index 71696d06..3a0d5866 100644
--- a/src/handlers/compositor.rs
+++ b/src/handlers/compositor.rs
@@ -161,7 +161,8 @@ impl CompositorHandler for State {
self.layer_shell_handle_commit(surface);
// This might be a cursor surface.
- if matches!(&self.niri.cursor_image, CursorImageStatus::Surface(s) if s == surface) {
+ if matches!(&self.niri.cursor_manager.cursor_image(), CursorImageStatus::Surface(s) if s == surface)
+ {
// FIXME: granular redraws for cursors.
self.niri.queue_redraw_all();
}
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs
index 85e9e755..b23d1abb 100644
--- a/src/handlers/mod.rs
+++ b/src/handlers/mod.rs
@@ -35,10 +35,10 @@ use smithay::wayland::session_lock::{
LockSurface, SessionLockHandler, SessionLockManagerState, SessionLocker,
};
use smithay::{
- delegate_data_control, delegate_data_device, delegate_dmabuf, delegate_input_method_manager,
- delegate_output, delegate_pointer_gestures, delegate_presentation, delegate_primary_selection,
- delegate_seat, delegate_session_lock, delegate_tablet_manager, delegate_text_input_manager,
- delegate_virtual_keyboard_manager,
+ delegate_cursor_shape, delegate_data_control, delegate_data_device, delegate_dmabuf,
+ delegate_input_method_manager, delegate_output, delegate_pointer_gestures,
+ delegate_presentation, delegate_primary_selection, delegate_seat, delegate_session_lock,
+ delegate_tablet_manager, delegate_text_input_manager, delegate_virtual_keyboard_manager,
};
use crate::layout::output_size;
@@ -53,7 +53,7 @@ impl SeatHandler for State {
}
fn cursor_image(&mut self, _seat: &Seat<Self>, image: CursorImageStatus) {
- self.niri.cursor_image = image;
+ self.niri.cursor_manager.set_cursor_image(image);
// FIXME: more granular
self.niri.queue_redraw_all();
}
@@ -66,6 +66,7 @@ impl SeatHandler for State {
}
}
delegate_seat!(State);
+delegate_cursor_shape!(State);
delegate_tablet_manager!(State);
delegate_pointer_gestures!(State);
delegate_text_input_manager!(State);