moving: Let stacking indicator follow mouse

This commit is contained in:
Victoria Brekenfeld 2023-07-25 14:28:48 +02:00
parent 952db34056
commit 51a59b167f

View file

@ -32,7 +32,7 @@ use smithay::{
}, },
output::Output, output::Output,
reexports::wayland_server::protocol::wl_surface::WlSurface, reexports::wayland_server::protocol::wl_surface::WlSurface,
utils::{IsAlive, Logical, Point, Rectangle, Serial}, utils::{IsAlive, Logical, Point, Rectangle, Serial, Size},
wayland::compositor::SurfaceData, wayland::compositor::SurfaceData,
}; };
use std::{ use std::{
@ -123,7 +123,8 @@ impl MoveGrabState {
.flat_map(|(indicator, location)| { .flat_map(|(indicator, location)| {
indicator.render_elements( indicator.render_elements(
renderer, renderer,
location.to_physical_precise_round(output_scale), (cursor_at.to_i32_round() - output.geometry().loc - Point::from((250, 50)))
.to_physical_precise_round(output_scale),
output_scale, output_scale,
1.0, 1.0,
) )
@ -229,7 +230,10 @@ impl PointerGrab<State> for MoveGrab {
if indicator_location.is_some() != grab_state.stacking_indicator.is_some() { if indicator_location.is_some() != grab_state.stacking_indicator.is_some() {
grab_state.stacking_indicator = indicator_location.map(|geo| { grab_state.stacking_indicator = indicator_location.map(|geo| {
let element = stack_hover(state.common.event_loop_handle.clone(), geo.size); let element = stack_hover(
state.common.event_loop_handle.clone(),
Size::from((500, 100)),
);
for output in &self.outputs { for output in &self.outputs {
element.output_enter(output, output.geometry()); element.output_enter(output, output.geometry());
} }