input: Move window anywhere with Super-key
This commit is contained in:
parent
7cd13ec6a9
commit
fa7926f7c1
1 changed files with 20 additions and 2 deletions
|
|
@ -9,7 +9,7 @@ use crate::{
|
||||||
target::{KeyboardFocusTarget, PointerFocusTarget},
|
target::{KeyboardFocusTarget, PointerFocusTarget},
|
||||||
FocusDirection,
|
FocusDirection,
|
||||||
},
|
},
|
||||||
grabs::{ResizeEdge, SeatMenuGrabState, SeatMoveGrabState},
|
grabs::{ReleaseMode, ResizeEdge, SeatMenuGrabState, SeatMoveGrabState},
|
||||||
layout::{
|
layout::{
|
||||||
floating::ResizeGrabMarker,
|
floating::ResizeGrabMarker,
|
||||||
tiling::{SwapWindowGrab, TilingLayout},
|
tiling::{SwapWindowGrab, TilingLayout},
|
||||||
|
|
@ -982,7 +982,25 @@ impl State {
|
||||||
if let Some(target) =
|
if let Some(target) =
|
||||||
self.common.shell.element_under(pos, &output)
|
self.common.shell.element_under(pos, &output)
|
||||||
{
|
{
|
||||||
under = Some(target);
|
if seat.get_keyboard().unwrap().modifier_state().logo {
|
||||||
|
if let Some(surface) = target.toplevel() {
|
||||||
|
let seat_clone = seat.clone();
|
||||||
|
self.common.event_loop_handle.insert_idle(
|
||||||
|
move |state| {
|
||||||
|
Shell::move_request(
|
||||||
|
state,
|
||||||
|
&surface,
|
||||||
|
&seat_clone,
|
||||||
|
serial,
|
||||||
|
ReleaseMode::NoMouseButtons,
|
||||||
|
false,
|
||||||
|
)
|
||||||
|
},
|
||||||
|
);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
under = Some(target);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
let layers = layer_map_for_output(&output);
|
let layers = layer_map_for_output(&output);
|
||||||
if let Some(layer) = layers
|
if let Some(layer) = layers
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue