diff options
author | 2018-09-06 23:57:57 +1000 | |
---|---|---|
committer | 2018-09-06 23:57:57 +1000 | |
commit | cf32d5d7766a14ad1fbb236371be3e6b733c4f8a (patch) | |
tree | 3c640d75acc38a1d55cee986b5a405c7e33ecdd6 /sway | |
parent | Merge pull request #2592 from RyanDwyer/fix-fullscreen-unmap-focus (diff) | |
download | sway-cf32d5d7766a14ad1fbb236371be3e6b733c4f8a.tar.gz sway-cf32d5d7766a14ad1fbb236371be3e6b733c4f8a.tar.zst sway-cf32d5d7766a14ad1fbb236371be3e6b733c4f8a.zip |
Float views when min == max on either dimension
This fixes pinentry-gtk-2, but might make other views floating which
would otherwise be tiled. This patch is more of a trial which could end
up becoming a permanent fix.
Diffstat (limited to 'sway')
-rw-r--r-- | sway/desktop/xdg_shell.c | 4 | ||||
-rw-r--r-- | sway/desktop/xdg_shell_v6.c | 4 | ||||
-rw-r--r-- | sway/desktop/xwayland.c | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/sway/desktop/xdg_shell.c b/sway/desktop/xdg_shell.c index 575f229d..b9ca396a 100644 --- a/sway/desktop/xdg_shell.c +++ b/sway/desktop/xdg_shell.c | |||
@@ -170,8 +170,8 @@ static bool wants_floating(struct sway_view *view) { | |||
170 | struct wlr_xdg_toplevel *toplevel = view->wlr_xdg_surface->toplevel; | 170 | struct wlr_xdg_toplevel *toplevel = view->wlr_xdg_surface->toplevel; |
171 | struct wlr_xdg_toplevel_state *state = &toplevel->current; | 171 | struct wlr_xdg_toplevel_state *state = &toplevel->current; |
172 | return (state->min_width != 0 && state->min_height != 0 | 172 | return (state->min_width != 0 && state->min_height != 0 |
173 | && state->min_width == state->max_width | 173 | && (state->min_width == state->max_width |
174 | && state->min_height == state->max_height) | 174 | || state->min_height == state->max_height)) |
175 | || toplevel->parent; | 175 | || toplevel->parent; |
176 | } | 176 | } |
177 | 177 | ||
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c index 58fbd631..0c121adc 100644 --- a/sway/desktop/xdg_shell_v6.c +++ b/sway/desktop/xdg_shell_v6.c | |||
@@ -166,8 +166,8 @@ static bool wants_floating(struct sway_view *view) { | |||
166 | view->wlr_xdg_surface_v6->toplevel; | 166 | view->wlr_xdg_surface_v6->toplevel; |
167 | struct wlr_xdg_toplevel_v6_state *state = &toplevel->current; | 167 | struct wlr_xdg_toplevel_v6_state *state = &toplevel->current; |
168 | return (state->min_width != 0 && state->min_height != 0 | 168 | return (state->min_width != 0 && state->min_height != 0 |
169 | && state->min_width == state->max_width | 169 | && (state->min_width == state->max_width |
170 | && state->min_height == state->max_height) | 170 | || state->min_height == state->max_height)) |
171 | || toplevel->parent; | 171 | || toplevel->parent; |
172 | } | 172 | } |
173 | 173 | ||
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 0d192b76..6761b6bc 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -235,8 +235,8 @@ static bool wants_floating(struct sway_view *view) { | |||
235 | struct wlr_xwayland_surface_size_hints *size_hints = surface->size_hints; | 235 | struct wlr_xwayland_surface_size_hints *size_hints = surface->size_hints; |
236 | if (size_hints != NULL && | 236 | if (size_hints != NULL && |
237 | size_hints->min_width != 0 && size_hints->min_height != 0 && | 237 | size_hints->min_width != 0 && size_hints->min_height != 0 && |
238 | size_hints->max_width == size_hints->min_width && | 238 | (size_hints->max_width == size_hints->min_width || |
239 | size_hints->max_height == size_hints->min_height) { | 239 | size_hints->max_height == size_hints->min_height)) { |
240 | return true; | 240 | return true; |
241 | } | 241 | } |
242 | 242 | ||