diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-05-31 21:58:28 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-06-01 23:14:58 +1000 |
commit | d466b8fa7b5ba8dff4b5ea5520aa523f50815316 (patch) | |
tree | b16f2bbc3da4d3c1335548da68fba5016cf252be /sway | |
parent | Fix mpv damage issue when unfullscreening into floating (diff) | |
download | sway-d466b8fa7b5ba8dff4b5ea5520aa523f50815316.tar.gz sway-d466b8fa7b5ba8dff4b5ea5520aa523f50815316.tar.zst sway-d466b8fa7b5ba8dff4b5ea5520aa523f50815316.zip |
Don't auto float xdg views if their dimensions are not set
Diffstat (limited to 'sway')
-rw-r--r-- | sway/desktop/xdg_shell.c | 3 | ||||
-rw-r--r-- | 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) { | |||
122 | static bool wants_floating(struct sway_view *view) { | 122 | static bool wants_floating(struct sway_view *view) { |
123 | struct wlr_xdg_toplevel_state *state = | 123 | struct wlr_xdg_toplevel_state *state = |
124 | &view->wlr_xdg_surface->toplevel->current; | 124 | &view->wlr_xdg_surface->toplevel->current; |
125 | return state->min_width == state->max_width | 125 | return state->min_width != 0 && state->min_height != 0 |
126 | && state->min_width == state->max_width | ||
126 | && state->min_height == state->max_height; | 127 | && state->min_height == state->max_height; |
127 | } | 128 | } |
128 | 129 | ||
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) { | |||
121 | static bool wants_floating(struct sway_view *view) { | 121 | static bool wants_floating(struct sway_view *view) { |
122 | struct wlr_xdg_toplevel_v6_state *state = | 122 | struct wlr_xdg_toplevel_v6_state *state = |
123 | &view->wlr_xdg_surface_v6->toplevel->current; | 123 | &view->wlr_xdg_surface_v6->toplevel->current; |
124 | return state->min_width == state->max_width | 124 | return state->min_width != 0 && state->min_height != 0 |
125 | && state->min_width == state->max_width | ||
125 | && state->min_height == state->max_height; | 126 | && state->min_height == state->max_height; |
126 | } | 127 | } |
127 | 128 | ||