summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-04-09 22:51:58 +0200
committerLibravatar Mikkel Oscar Lyderik <mikkeloscar@gmail.com>2016-04-09 23:20:26 +0200
commitcfea40dce3b203962a61b6f745bffebad43d19a6 (patch)
tree2b2bd1e9196d6e7ef98d58f88b0cecfea7f7d9b2
parentOnly update geometry of single floating view (diff)
downloadsway-cfea40dce3b203962a61b6f745bffebad43d19a6.tar.gz
sway-cfea40dce3b203962a61b6f745bffebad43d19a6.tar.zst
sway-cfea40dce3b203962a61b6f745bffebad43d19a6.zip
Don't init desired width/height on new_view
When creating a new view, wlc usually returns an initial geometry with size 1x1. Setting those values as desired width/height causes a problem for some windows (QT5) because they don't request a new geometry for instance when made floating, so the floating window becomes 1x1. To fix this problem we can just omit setting the desired width/height on new_view and instead let the clients request a certain size if they feel like it. e.i. gnome-calculator. Fix #578
-rw-r--r--sway/container.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sway/container.c b/sway/container.c
index d82a1e21..6dfc608d 100644
--- a/sway/container.c
+++ b/sway/container.c
@@ -265,13 +265,10 @@ swayc_t *new_view(swayc_t *sibling, wlc_handle handle) {
265 view->visible = true; 265 view->visible = true;
266 view->is_focused = true; 266 view->is_focused = true;
267 view->sticky = false; 267 view->sticky = false;
268 // Setup geometry
269 struct wlc_geometry geometry;
270 wlc_view_get_visible_geometry(handle, &geometry);
271 view->width = 0; 268 view->width = 0;
272 view->height = 0; 269 view->height = 0;
273 view->desired_width = geometry.size.w; 270 view->desired_width = -1;
274 view->desired_height = geometry.size.h; 271 view->desired_height = -1;
275 // setup border 272 // setup border
276 view->border_type = config->border; 273 view->border_type = config->border;
277 view->border_thickness = config->border_thickness; 274 view->border_thickness = config->border_thickness;