Merge pull request #2162 from martinetd/float_xdg_shell

xdg_shell: make view floating if a parent has been set
This commit is contained in:
Drew DeVault 2018-06-26 07:26:07 -07:00 committed by GitHub
commit f0f50c31d5
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 11 additions and 8 deletions

View file

@ -120,11 +120,12 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) {
} }
static bool wants_floating(struct sway_view *view) { static bool wants_floating(struct sway_view *view) {
struct wlr_xdg_toplevel_state *state = struct wlr_xdg_toplevel *toplevel = view->wlr_xdg_surface->toplevel;
&view->wlr_xdg_surface->toplevel->current; struct wlr_xdg_toplevel_state *state = &toplevel->current;
return state->min_width != 0 && state->min_height != 0 return (state->min_width != 0 && state->min_height != 0
&& state->min_width == state->max_width && 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, static void for_each_surface(struct sway_view *view,

View file

@ -119,11 +119,13 @@ static void set_fullscreen(struct sway_view *view, bool fullscreen) {
} }
static bool wants_floating(struct sway_view *view) { static bool wants_floating(struct sway_view *view) {
struct wlr_xdg_toplevel_v6_state *state = struct wlr_xdg_toplevel_v6 *toplevel =
&view->wlr_xdg_surface_v6->toplevel->current; view->wlr_xdg_surface_v6->toplevel;
return state->min_width != 0 && state->min_height != 0 struct wlr_xdg_toplevel_v6_state *state = &toplevel->current;
return (state->min_width != 0 && state->min_height != 0
&& state->min_width == state->max_width && 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, static void for_each_surface(struct sway_view *view,