aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-05-31 21:58:28 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-06-01 23:14:58 +1000
commitd466b8fa7b5ba8dff4b5ea5520aa523f50815316 (patch)
treeb16f2bbc3da4d3c1335548da68fba5016cf252be
parenta2c1cb9072b990de9181bffeb69e43f9b3030804 (diff)
Don't auto float xdg views if their dimensions are not set
-rw-r--r--sway/desktop/xdg_shell.c3
-rw-r--r--sway/desktop/xdg_shell_v6.c3
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;
}