diff --git a/src/input/cursor.c b/src/input/cursor.c index 4b76d75a..6598c7e7 100644 --- a/src/input/cursor.c +++ b/src/input/cursor.c @@ -253,6 +253,8 @@ process_cursor_move(struct server *server, uint32_t time) .height = view->natural_geometry.height, }; interactive_anchor_to_cursor(server, &new_geo); + /* Shaded clients will not process resize events until unshaded */ + view_set_shade(view, false); view_set_untiled(view); view_restore_to(view, new_geo); x = new_geo.x; diff --git a/src/interactive.c b/src/interactive.c index 851e2231..91081fd3 100644 --- a/src/interactive.c +++ b/src/interactive.c @@ -85,6 +85,7 @@ interactive_begin(struct view *view, enum input_mode mode, uint32_t edges) */ return; } + if (view_is_floating(view)) { /* Store natural geometry at start of move */ view_store_natural_geometry(view); @@ -146,6 +147,8 @@ interactive_begin(struct view *view, enum input_mode mode, uint32_t edges) && rc.unsnap_threshold <= 0) { struct wlr_box natural_geo = view->natural_geometry; interactive_anchor_to_cursor(server, &natural_geo); + /* Shaded clients will not process resize events until unshaded */ + view_set_shade(view, false); view_set_untiled(view); view_restore_to(view, natural_geo); }