diff --git a/src/input/mod.rs b/src/input/mod.rs index 33fb3148..0cb26a9d 100644 --- a/src/input/mod.rs +++ b/src/input/mod.rs @@ -2521,7 +2521,7 @@ fn mapped_output_for_device<'a, D: Device + 'static>( map_to_output.or_else(|| shell.builtin_output()) } -fn update_output_image_copy_cursor_position( +pub fn update_output_image_copy_cursor_position( shell: &Shell, clock: &Clock, output: &Output, diff --git a/src/shell/focus/mod.rs b/src/shell/focus/mod.rs index 9374230a..4e88c499 100644 --- a/src/shell/focus/mod.rs +++ b/src/shell/focus/mod.rs @@ -378,6 +378,14 @@ fn update_focus_state( .cloned() .unwrap_or(seat.active_output()); + crate::input::update_output_image_copy_cursor_position( + &shell, + &state.common.clock, + &output, + seat, + new_pos, + ); + let focus = State::surface_under(new_pos, &output, &shell) .map(|(focus, loc)| (focus, loc.as_logical())); //drop here to avoid multiple borrows