diff options
author | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-07-25 20:56:23 +1000 |
---|---|---|
committer | Ryan Dwyer <ryandwyer1@gmail.com> | 2018-07-26 08:27:07 +1000 |
commit | 27a20a488465468511de9b2307941ac1bc4db8bf (patch) | |
tree | c5c1aff483cb089870ffebec00869347eec29f4c /sway/desktop/render.c | |
parent | Merge pull request #2330 from progandy/set-modifier-locks (diff) | |
download | sway-27a20a488465468511de9b2307941ac1bc4db8bf.tar.gz sway-27a20a488465468511de9b2307941ac1bc4db8bf.tar.zst sway-27a20a488465468511de9b2307941ac1bc4db8bf.zip |
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..3e7b1a62 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, | |||
836 | } | 836 | } |
837 | 837 | ||
838 | struct sway_container *workspace = output_get_active_workspace(output); | 838 | struct sway_container *workspace = output_get_active_workspace(output); |
839 | struct sway_view *fullscreen_view = workspace->current.ws_fullscreen; | 839 | struct sway_container *fullscreen_con = workspace->current.ws_fullscreen; |
840 | 840 | ||
841 | if (output_has_opaque_overlay_layer_surface(output)) { | 841 | if (output_has_opaque_overlay_layer_surface(output)) { |
842 | goto render_overlay; | 842 | goto render_overlay; |
843 | } | 843 | } |
844 | 844 | ||
845 | if (fullscreen_view) { | 845 | if (fullscreen_con) { |
846 | float clear_color[] = {0.0f, 0.0f, 0.0f, 1.0f}; | 846 | float clear_color[] = {0.0f, 0.0f, 0.0f, 1.0f}; |
847 | 847 | ||
848 | int nrects; | 848 | int nrects; |
@@ -853,16 +853,21 @@ void output_render(struct sway_output *output, struct timespec *when, | |||
853 | } | 853 | } |
854 | 854 | ||
855 | // TODO: handle views smaller than the output | 855 | // TODO: handle views smaller than the output |
856 | if (fullscreen_view->swayc->instructions->length) { | 856 | if (fullscreen_con->type == C_VIEW) { |
857 | render_saved_view(fullscreen_view, output, damage, 1.0f); | 857 | if (fullscreen_con->instructions->length) { |
858 | render_saved_view(fullscreen_con->sway_view, | ||
859 | output, damage, 1.0f); | ||
858 | } else { | 860 | } else { |
859 | render_view_surfaces(fullscreen_view, output, damage, 1.0f); | 861 | render_view_surfaces(fullscreen_con->sway_view, |
862 | output, damage, 1.0f); | ||
863 | } | ||
864 | } else { | ||
865 | render_container(output, damage, fullscreen_con, | ||
866 | fullscreen_con->current.focused); | ||
860 | } | 867 | } |
861 | #ifdef HAVE_XWAYLAND | 868 | #ifdef HAVE_XWAYLAND |
862 | if (fullscreen_view->type == SWAY_VIEW_XWAYLAND) { | 869 | render_unmanaged(output, damage, |
863 | render_unmanaged(output, damage, | 870 | &root_container.sway_root->xwayland_unmanaged); |
864 | &root_container.sway_root->xwayland_unmanaged); | ||
865 | } | ||
866 | #endif | 871 | #endif |
867 | } else { | 872 | } else { |
868 | float clear_color[] = {0.25f, 0.25f, 0.25f, 1.0f}; | 873 | float clear_color[] = {0.25f, 0.25f, 0.25f, 1.0f}; |