summaryrefslogtreecommitdiffstats
path: root/sway/desktop/render.c
diff options
context:
space:
mode:
authorLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-07-25 20:56:23 +1000
committerLibravatar Ryan Dwyer <ryandwyer1@gmail.com>2018-07-26 08:27:07 +1000
commit27a20a488465468511de9b2307941ac1bc4db8bf (patch)
treec5c1aff483cb089870ffebec00869347eec29f4c /sway/desktop/render.c
parentMerge pull request #2330 from progandy/set-modifier-locks (diff)
downloadsway-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.c23
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};