summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFurkan Sahin <furkan-dev@proton.me>2020-06-03 14:51:29 +0200
committerFurkan Sahin <furkan-dev@proton.me>2020-06-03 14:51:29 +0200
commit896423e0d4d84e13081cddb4668c3fa8c0efcf60 (patch)
tree1cd29d59d94383587f85d168fc0fda270dab209b
parent93d277fb3f036c3b744625476c9110142518f02f (diff)
shells: Resize on commit if geometry x/y changes
Client-side decorations lead to changes to y position, so make sure we catch that.
-rw-r--r--sway/desktop/xdg_shell.c4
-rw-r--r--sway/desktop/xwayland.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c
index 7775f660..2bf026f7 100644
--- a/sway/desktop/xdg_shell.c
+++ b/sway/desktop/xdg_shell.c
@@ -284,7 +284,9 @@ static void handle_commit(struct wl_listener *listener, void *data) {
wlr_xdg_surface_get_geometry(xdg_surface, &new_geo);
if ((new_geo.width != view->geometry.width ||
- new_geo.height != view->geometry.height)) {
+ new_geo.height != view->geometry.height ||
+ new_geo.x != view->geometry.x ||
+ new_geo.y != view->geometry.y)) {
// The view has unexpectedly sent a new size
desktop_damage_view(view);
view_update_size(view, new_geo.width, new_geo.height);
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
index b51bbb74..743e85bc 100644
--- a/sway/desktop/xwayland.c
+++ b/sway/desktop/xwayland.c
@@ -373,7 +373,9 @@ static void handle_commit(struct wl_listener *listener, void *data) {
get_geometry(view, &new_geo);
if ((new_geo.width != view->geometry.width ||
- new_geo.height != view->geometry.height)) {
+ new_geo.height != view->geometry.height ||
+ new_geo.x != view->geometry.x ||
+ new_geo.y != view->geometry.y)) {
// The view has unexpectedly sent a new size
// eg. The Firefox "Save As" dialog when downloading a file
desktop_damage_view(view);