diff options
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 32 |
1 files changed, 21 insertions, 11 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 964cfe00..a9ff9782 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c | |||
@@ -969,20 +969,30 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) { | |||
969 | .when = when, | 969 | .when = when, |
970 | }; | 970 | }; |
971 | 971 | ||
972 | send_frame_done_layer(&data, | ||
973 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); | ||
974 | send_frame_done_layer(&data, | ||
975 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]); | ||
976 | |||
977 | struct sway_container *workspace = output_get_active_workspace(output); | 972 | struct sway_container *workspace = output_get_active_workspace(output); |
978 | send_frame_done_container(&data, workspace); | 973 | if (workspace->sway_workspace->fullscreen) { |
979 | send_frame_done_container(&data, workspace->sway_workspace->floating); | 974 | send_frame_done_container_iterator( |
975 | workspace->sway_workspace->fullscreen->swayc, &data); | ||
976 | |||
977 | if (workspace->sway_workspace->fullscreen->type == SWAY_VIEW_XWAYLAND) { | ||
978 | send_frame_done_unmanaged(&data, | ||
979 | &root_container.sway_root->xwayland_unmanaged); | ||
980 | } | ||
981 | } else { | ||
982 | send_frame_done_layer(&data, | ||
983 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]); | ||
984 | send_frame_done_layer(&data, | ||
985 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]); | ||
980 | 986 | ||
981 | send_frame_done_unmanaged(&data, | 987 | send_frame_done_container(&data, workspace); |
982 | &root_container.sway_root->xwayland_unmanaged); | 988 | send_frame_done_container(&data, workspace->sway_workspace->floating); |
989 | |||
990 | send_frame_done_unmanaged(&data, | ||
991 | &root_container.sway_root->xwayland_unmanaged); | ||
992 | send_frame_done_layer(&data, | ||
993 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]); | ||
994 | } | ||
983 | 995 | ||
984 | send_frame_done_layer(&data, | ||
985 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]); | ||
986 | send_frame_done_layer(&data, | 996 | send_frame_done_layer(&data, |
987 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]); | 997 | &output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]); |
988 | } | 998 | } |