diff options
author | emersion <contact@emersion.fr> | 2018-03-13 19:57:21 +0100 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2018-03-13 19:57:21 +0100 |
commit | e74ddaaf10f1c8078cf078f55428b9e86776ca93 (patch) | |
tree | c7a616685b4eaeb5eeacea72b36058b832e14e29 /rootston | |
parent | 125138f1a0448927c26c0f8a2761fed2df09b6ad (diff) |
xdg-shell-v6: redesign the configure/ack_configure workflow
Diffstat (limited to 'rootston')
-rw-r--r-- | rootston/output.c | 3 | ||||
-rw-r--r-- | rootston/xdg_shell_v6.c | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/rootston/output.c b/rootston/output.c index adcbb961..f772ea24 100644 --- a/rootston/output.c +++ b/rootston/output.c @@ -433,7 +433,8 @@ static void render_output(struct roots_output *output) { float clear_color[] = {0.25f, 0.25f, 0.25f, 1.0f}; // Check if we can delegate the fullscreen surface to the output - if (output->fullscreen_view != NULL) { + if (output->fullscreen_view != NULL && + output->fullscreen_view->wlr_surface != NULL) { struct roots_view *view = output->fullscreen_view; // Make sure the view is centered on screen diff --git a/rootston/xdg_shell_v6.c b/rootston/xdg_shell_v6.c index c81cd16a..84c76d16 100644 --- a/rootston/xdg_shell_v6.c +++ b/rootston/xdg_shell_v6.c @@ -385,4 +385,11 @@ void handle_xdg_shell_v6_surface(struct wl_listener *listener, void *data) { view->close = close; view->destroy = destroy; roots_surface->view = view; + + if (surface->toplevel_state->next.maximized) { + view_maximize(view, true); + } + if (surface->toplevel_state->next.fullscreen) { + view_set_fullscreen(view, true, NULL); + } } |