diff options
author | Brian Ashworth <RedSoxFan@users.noreply.github.com> | 2018-07-25 21:30:56 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-25 21:30:56 -0400 |
commit | 75ebeb4a167ca218af37fa9041223a6450dc20f4 (patch) | |
tree | 47456198945ceea9f105dc9122ebbdf2013872ce /sway/desktop/render.c | |
parent | c8dc9b3b3094c9b2778309855114b9495518c2d4 (diff) | |
parent | 868dcde14ef2116fcbd5c2c66badf2bcc514bba3 (diff) |
Merge pull request #2356 from RyanDwyer/fullscreen-containers
Allow containers to be fullscreen
Diffstat (limited to 'sway/desktop/render.c')
-rw-r--r-- | sway/desktop/render.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 15c5b94c..d2f1c9f2 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -836,13 +836,13 @@ void output_render(struct sway_output *output, struct timespec *when, } struct sway_container *workspace = output_get_active_workspace(output); - struct sway_view *fullscreen_view = workspace->current.ws_fullscreen; + struct sway_container *fullscreen_con = workspace->current.ws_fullscreen; if (output_has_opaque_overlay_layer_surface(output)) { goto render_overlay; } - if (fullscreen_view) { + if (fullscreen_con) { float clear_color[] = {0.0f, 0.0f, 0.0f, 1.0f}; int nrects; @@ -853,16 +853,21 @@ void output_render(struct sway_output *output, struct timespec *when, } // TODO: handle views smaller than the output - if (fullscreen_view->swayc->instructions->length) { - render_saved_view(fullscreen_view, output, damage, 1.0f); + if (fullscreen_con->type == C_VIEW) { + if (fullscreen_con->instructions->length) { + render_saved_view(fullscreen_con->sway_view, + output, damage, 1.0f); + } else { + render_view_surfaces(fullscreen_con->sway_view, + output, damage, 1.0f); + } } else { - render_view_surfaces(fullscreen_view, output, damage, 1.0f); + render_container(output, damage, fullscreen_con, + fullscreen_con->current.focused); } #ifdef HAVE_XWAYLAND - if (fullscreen_view->type == SWAY_VIEW_XWAYLAND) { - render_unmanaged(output, damage, - &root_container.sway_root->xwayland_unmanaged); - } + render_unmanaged(output, damage, + &root_container.sway_root->xwayland_unmanaged); #endif } else { float clear_color[] = {0.25f, 0.25f, 0.25f, 1.0f}; |