commit 143b528f71ea71393368815eecebf900ff45cf9d
parent a44d016e2b24a3454551c27f9252b4c419968760
Author: Ryan Dwyer <ryandwyer1@gmail.com>
Date: Tue, 17 Apr 2018 11:04:57 +1000
Handle fullscreen flag when mapping a surface.
Diffstat:
3 files changed, 12 insertions(+), 0 deletions(-)
diff --git 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) {
wl_signal_add(&shell_surface->events.destroy, &wl_shell_view->destroy);
view_map(&wl_shell_view->view, shell_surface->surface);
+
+ if (shell_surface->state == WLR_WL_SHELL_SURFACE_STATE_FULLSCREEN) {
+ view_set_fullscreen(&wl_shell_view->view, true);
+ }
}
diff --git 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) {
xdg_shell_v6_view->new_popup.notify = handle_new_popup;
wl_signal_add(&xdg_surface->events.new_popup,
&xdg_shell_v6_view->new_popup);
+
+ if (xdg_surface->toplevel->current.fullscreen) {
+ view_set_fullscreen(view, true);
+ }
}
static void handle_destroy(struct wl_listener *listener, void *data) {
diff --git a/sway/desktop/xwayland.c b/sway/desktop/xwayland.c
@@ -248,6 +248,10 @@ static void handle_map(struct wl_listener *listener, void *data) {
// Put it back into the tree
wlr_xwayland_surface_set_maximized(xsurface, true);
view_map(view, xsurface->surface);
+
+ if (xsurface->fullscreen) {
+ view_set_fullscreen(view, true);
+ }
}
static void handle_destroy(struct wl_listener *listener, void *data) {