sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

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:
Msway/desktop/wl_shell.c | 4++++
Msway/desktop/xdg_shell_v6.c | 4++++
Msway/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 @@ -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) {