diff options
-rw-r--r-- | sway/desktop/wl_shell.c | 4 | ||||
-rw-r--r-- | sway/desktop/xdg_shell_v6.c | 4 | ||||
-rw-r--r-- | sway/desktop/xwayland.c | 4 |
3 files changed, 12 insertions, 0 deletions
diff --git a/sway/desktop/wl_shell.c b/sway/desktop/wl_shell.c index b63c220c..96332e5c 100644 --- a/sway/desktop/wl_shell.c +++ b/sway/desktop/wl_shell.c | |||
@@ -128,4 +128,8 @@ void handle_wl_shell_surface(struct wl_listener *listener, void *data) { | |||
128 | wl_signal_add(&shell_surface->events.destroy, &wl_shell_view->destroy); | 128 | wl_signal_add(&shell_surface->events.destroy, &wl_shell_view->destroy); |
129 | 129 | ||
130 | view_map(&wl_shell_view->view, shell_surface->surface); | 130 | view_map(&wl_shell_view->view, shell_surface->surface); |
131 | |||
132 | if (shell_surface->state == WLR_WL_SHELL_SURFACE_STATE_FULLSCREEN) { | ||
133 | view_set_fullscreen(&wl_shell_view->view, true); | ||
134 | } | ||
131 | } | 135 | } |
diff --git a/sway/desktop/xdg_shell_v6.c b/sway/desktop/xdg_shell_v6.c index 133b60c3..731862a9 100644 --- a/sway/desktop/xdg_shell_v6.c +++ b/sway/desktop/xdg_shell_v6.c | |||
@@ -212,6 +212,10 @@ static void handle_map(struct wl_listener *listener, void *data) { | |||
212 | xdg_shell_v6_view->new_popup.notify = handle_new_popup; | 212 | xdg_shell_v6_view->new_popup.notify = handle_new_popup; |
213 | wl_signal_add(&xdg_surface->events.new_popup, | 213 | wl_signal_add(&xdg_surface->events.new_popup, |
214 | &xdg_shell_v6_view->new_popup); | 214 | &xdg_shell_v6_view->new_popup); |
215 | |||
216 | if (xdg_surface->toplevel->current.fullscreen) { | ||
217 | view_set_fullscreen(view, true); | ||
218 | } | ||
215 | } | 219 | } |
216 | 220 | ||
217 | static void handle_destroy(struct wl_listener *listener, void *data) { | 221 | static void handle_destroy(struct wl_listener *listener, void *data) { |
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c index 963c5a0e..46eaa84c 100644 --- a/sway/desktop/xwayland.c +++ b/sway/desktop/xwayland.c | |||
@@ -248,6 +248,10 @@ static void handle_map(struct wl_listener *listener, void *data) { | |||
248 | // Put it back into the tree | 248 | // Put it back into the tree |
249 | wlr_xwayland_surface_set_maximized(xsurface, true); | 249 | wlr_xwayland_surface_set_maximized(xsurface, true); |
250 | view_map(view, xsurface->surface); | 250 | view_map(view, xsurface->surface); |
251 | |||
252 | if (xsurface->fullscreen) { | ||
253 | view_set_fullscreen(view, true); | ||
254 | } | ||
251 | } | 255 | } |
252 | 256 | ||
253 | static void handle_destroy(struct wl_listener *listener, void *data) { | 257 | static void handle_destroy(struct wl_listener *listener, void *data) { |