aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-08-20 13:24:57 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-08-20 13:24:57 +1000
commit771ad7bffafdb9fc06aa81f8fc1f33c05f1026d2 (patch)
tree3e776d5688bcec25102f540db2e04293cdf6bcbc
parentMerge pull request #2483 from RyanDwyer/floating-emit-reparent (diff)
downloadsway-771ad7bffafdb9fc06aa81f8fc1f33c05f1026d2.tar.gz
sway-771ad7bffafdb9fc06aa81f8fc1f33c05f1026d2.tar.zst
sway-771ad7bffafdb9fc06aa81f8fc1f33c05f1026d2.zip
Fix jumping views
Fixes #2490. To be honest I'm not sure why this fixes the issue. I observed that I could only make the view jump if I resized it to the smallest possible size first. Then I had a suspicion that we were accidentally factoring in the title and border sizes into the view size when it uses CSD. So I changed that and it appears to have fixed the jumping issue. I guess when we factor the title and borders in, we send a configure to the surface with a size smaller than the minimum, and it comes back with a surface at the minimum size. We interpret this as an unexpected resize, and this somehow makes it jump.
-rw-r--r--sway/tree/view.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c
index 2c0c1aa9..7bf7325a 100644
--- a/sway/tree/view.c
+++ b/sway/tree/view.c
@@ -236,7 +236,12 @@ void view_autoconfigure(struct sway_view *view) {
236 view->border_top = false; 236 view->border_top = false;
237 } 237 }
238 238
239 switch (view->border) { 239 enum sway_container_border border = view->border;
240 if (view->using_csd) {
241 border = B_NONE;
242 }
243
244 switch (border) {
240 case B_NONE: 245 case B_NONE:
241 x = con->x; 246 x = con->x;
242 y = con->y + y_offset; 247 y = con->y + y_offset;