aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Molodetskikh <yalterz@gmail.com>2023-12-04 18:12:12 +0400
committerIvan Molodetskikh <yalterz@gmail.com>2023-12-04 18:12:12 +0400
commit40b633be5c100a592ba9186777ff4f495f895131 (patch)
tree91be76ecd2706ebc1ca24546e9b2d1336a806241 /src
parent0e29e7f6ff800af0effdad19be4e63e7e9cd84a4 (diff)
downloadniri-40b633be5c100a592ba9186777ff4f495f895131.tar.gz
niri-40b633be5c100a592ba9186777ff4f495f895131.tar.bz2
niri-40b633be5c100a592ba9186777ff4f495f895131.zip
Implement relative-pointer
Xwayland actually makes use of it, so I can finally verify that it works!
Diffstat (limited to 'src')
-rw-r--r--src/handlers/mod.rs6
-rw-r--r--src/niri.rs4
2 files changed, 8 insertions, 2 deletions
diff --git a/src/handlers/mod.rs b/src/handlers/mod.rs
index f9bd2589..65e7d101 100644
--- a/src/handlers/mod.rs
+++ b/src/handlers/mod.rs
@@ -37,8 +37,9 @@ use smithay::wayland::session_lock::{
use smithay::{
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,
+ delegate_presentation, delegate_primary_selection, delegate_relative_pointer, delegate_seat,
+ delegate_session_lock, delegate_tablet_manager, delegate_text_input_manager,
+ delegate_virtual_keyboard_manager,
};
use crate::layout::output_size;
@@ -74,6 +75,7 @@ delegate_seat!(State);
delegate_cursor_shape!(State);
delegate_tablet_manager!(State);
delegate_pointer_gestures!(State);
+delegate_relative_pointer!(State);
delegate_text_input_manager!(State);
impl InputMethodHandler for State {
diff --git a/src/niri.rs b/src/niri.rs
index 66863f15..61d99527 100644
--- a/src/niri.rs
+++ b/src/niri.rs
@@ -63,6 +63,7 @@ use smithay::wayland::input_method::InputMethodManagerState;
use smithay::wayland::output::OutputManagerState;
use smithay::wayland::pointer_gestures::PointerGesturesState;
use smithay::wayland::presentation::PresentationState;
+use smithay::wayland::relative_pointer::RelativePointerManagerState;
use smithay::wayland::selection::data_device::{set_data_device_selection, DataDeviceState};
use smithay::wayland::selection::primary_selection::PrimarySelectionState;
use smithay::wayland::selection::wlr_data_control::DataControlState;
@@ -140,6 +141,7 @@ pub struct Niri {
pub input_method_state: InputMethodManagerState,
pub virtual_keyboard_state: VirtualKeyboardManagerState,
pub pointer_gestures_state: PointerGesturesState,
+ pub relative_pointer_state: RelativePointerManagerState,
pub data_device_state: DataDeviceState,
pub primary_selection_state: PrimarySelectionState,
pub data_control_state: DataControlState,
@@ -613,6 +615,7 @@ impl Niri {
let mut seat_state = SeatState::new();
let tablet_state = TabletManagerState::new::<State>(&display_handle);
let pointer_gestures_state = PointerGesturesState::new::<State>(&display_handle);
+ let relative_pointer_state = RelativePointerManagerState::new::<State>(&display_handle);
let data_device_state = DataDeviceState::new::<State>(&display_handle);
let primary_selection_state = PrimarySelectionState::new::<State>(&display_handle);
let data_control_state = DataControlState::new::<State, _>(
@@ -714,6 +717,7 @@ impl Niri {
seat_state,
tablet_state,
pointer_gestures_state,
+ relative_pointer_state,
data_device_state,
primary_selection_state,
data_control_state,