From d466b8fa7b5ba8dff4b5ea5520aa523f50815316 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 31 May 2018 21:58:28 +1000 Subject: [PATCH] Don't auto float xdg views if their dimensions are not set --- sway/desktop/xdg_shell.c | 3 ++- sway/desktop/xdg_shell_v6.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index 32d1e3ca..d2b8822c 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c @@ -122,7 +122,8 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) { static bool wants_floating(struct sway_view *view) { struct wlr_xdg_toplevel_state *state = &view->wlr_xdg_surface->toplevel->current; - return state->min_width == state->max_width + return state->min_width != 0 && state->min_height != 0 + && state->min_width == state->max_width && state->min_height == state->max_height; } diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c index 6cb489db..6ffe334a 100644 --- a/sway/desktop/xdg_shell_v6.c +++ b/sway/desktop/xdg_shell_v6.c @@ -121,7 +121,8 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) { static bool wants_floating(struct sway_view *view) { struct wlr_xdg_toplevel_v6_state *state = &view->wlr_xdg_surface_v6->toplevel->current; - return state->min_width == state->max_width + return state->min_width != 0 && state->min_height != 0 + && state->min_width == state->max_width && state->min_height == state->max_height; }