diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-02 13:27:32 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-09-02 17:14:12 +1000 |
commit | 69cd1dfacaab9172fecfe0da8dce23e503483622 (patch) | |
tree | f20bf096414777d151a3405ba96fbe00356e5d8d /sway/desktop | |
parent | Merge pull request #2554 from emersion/init-dmabuf-global-in-renderer (diff) | |
download | sway-69cd1dfacaab9172fecfe0da8dce23e503483622.tar.gz sway-69cd1dfacaab9172fecfe0da8dce23e503483622.tar.zst sway-69cd1dfacaab9172fecfe0da8dce23e503483622.zip |
Check modal state when determining whether an xwayland view should float
Depends on https://github.com/swaywm/wlroots/pull/1222.
I don't know of a program that sets the state to modal without setting
the window type, but I know the modal property works because logging the
property shows it's true for the Firefox Open File dialog.
Diffstat (limited to 'sway/desktop')
-rw-r--r-- | sway/desktop/xwayland.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 2adc28c5..68d70b64 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -218,7 +218,9 @@ static bool wants_floating(struct sway_view *view) { | |||
218 | struct wlr_xwayland_surface *surface = view->wlr_xwayland_surface; | 218 | struct wlr_xwayland_surface *surface = view->wlr_xwayland_surface; |
219 | struct sway_xwayland *xwayland = &server.xwayland; | 219 | struct sway_xwayland *xwayland = &server.xwayland; |
220 | 220 | ||
221 | // TODO: return true if the NET_WM_STATE is MODAL | 221 | if (surface->modal) { |
222 | return true; | ||
223 | } | ||
222 | 224 | ||
223 | for (size_t i = 0; i < surface->window_type_len; ++i) { | 225 | for (size_t i = 0; i < surface->window_type_len; ++i) { |
224 | xcb_atom_t type = surface->window_type[i]; | 226 | xcb_atom_t type = surface->window_type[i]; |