diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-08-20 13:24:57 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-08-20 13:24:57 +1000 |
commit | 771ad7bffafdb9fc06aa81f8fc1f33c05f1026d2 (patch) | |
tree | 3e776d5688bcec25102f540db2e04293cdf6bcbc /sway/tree/view.c | |
parent | Merge pull request #2483 from RyanDwyer/floating-emit-reparent (diff) | |
download | sway-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.
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 7 |
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; |