aboutsummaryrefslogtreecommitdiff
path: root/sway/desktop/xdg_shell.c
diff options
context:
space:
mode:
authorRyan Dwyer <ryandwyer1@gmail.com>2018-06-29 20:04:24 +1000
committerRyan Dwyer <ryandwyer1@gmail.com>2018-06-29 20:04:24 +1000
commita2fbb20a616444213ff3967b33eed7f4561e3978 (patch)
tree276a133eb78d6e0655bc164693650454d43a22ca /sway/desktop/xdg_shell.c
parent3c81a900b766dd2c049ba7af6e603805893e0926 (diff)
parentd3ea07f8283385d015e1d85b5fe9bc8a776fc7b4 (diff)
Merge remote-tracking branch 'upstream/master' into atomic
Diffstat (limited to 'sway/desktop/xdg_shell.c')
-rw-r--r--sway/desktop/xdg_shell.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c
index b076d772..0f45399d 100644
--- a/sway/desktop/xdg_shell.c
+++ b/sway/desktop/xdg_shell.c
@@ -117,11 +117,12 @@ 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 != 0 && state->min_height != 0
+ struct wlr_xdg_toplevel *toplevel = view->wlr_xdg_surface->toplevel;
+ struct wlr_xdg_toplevel_state *state = &toplevel->current;
+ return (state->min_width != 0 && state->min_height != 0
&& state->min_width == state->max_width
- && state->min_height == state->max_height;
+ && state->min_height == state->max_height)
+ || toplevel->parent;
}
static void for_each_surface(struct sway_view *view,