mirror of
https://github.com/NickHu/sway
synced 2024-12-26 21:58:30 +01:00
Don't enter seatop_move_floating when fullscreen
Currently, a floating window that's been fullscreened can send us xdg_toplevel::move, and we'll enter seatop_move_floating, which lets us drag the surface around while it's fullscreen. We don't want this--fullscreen surfaces should always be aligned to the screen--so add the same check that seatop_default already does when entering this mode. Tested with Weston's weston-fullscreen demo, which sends a move request if you click anywhere on its surface.
This commit is contained in:
parent
b38b845c63
commit
0ee54a5243
2 changed files with 4 additions and 2 deletions
|
@ -360,7 +360,8 @@ static void handle_request_move(struct wl_listener *listener, void *data) {
|
|||
struct sway_xdg_shell_view *xdg_shell_view =
|
||||
wl_container_of(listener, xdg_shell_view, request_move);
|
||||
struct sway_view *view = &xdg_shell_view->view;
|
||||
if (!container_is_floating(view->container)) {
|
||||
if (!container_is_floating(view->container) ||
|
||||
view->container->pending.fullscreen_mode) {
|
||||
return;
|
||||
}
|
||||
struct wlr_xdg_toplevel_move_event *e = data;
|
||||
|
|
|
@ -594,7 +594,8 @@ static void handle_request_move(struct wl_listener *listener, void *data) {
|
|||
if (!xsurface->mapped) {
|
||||
return;
|
||||
}
|
||||
if (!container_is_floating(view->container)) {
|
||||
if (!container_is_floating(view->container) ||
|
||||
view->container->pending.fullscreen_mode) {
|
||||
return;
|
||||
}
|
||||
struct sway_seat *seat = input_manager_current_seat();
|
||||
|
|
Loading…
Reference in a new issue