mirror of
https://github.com/swaywm/sway.git
synced 2024-11-23 08:21:28 +00:00
Merge pull request #2095 from emersion/fullscreen-damage-only-visible
Only send frame to visible surfaces when fullscreened
This commit is contained in:
commit
0f71547032
|
@ -988,20 +988,30 @@ static void send_frame_done(struct sway_output *output, struct timespec *when) {
|
||||||
.when = when,
|
.when = when,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct sway_container *workspace = output_get_active_workspace(output);
|
||||||
|
if (workspace->sway_workspace->fullscreen) {
|
||||||
|
send_frame_done_container_iterator(
|
||||||
|
workspace->sway_workspace->fullscreen->swayc, &data);
|
||||||
|
|
||||||
|
if (workspace->sway_workspace->fullscreen->type == SWAY_VIEW_XWAYLAND) {
|
||||||
|
send_frame_done_unmanaged(&data,
|
||||||
|
&root_container.sway_root->xwayland_unmanaged);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
send_frame_done_layer(&data,
|
send_frame_done_layer(&data,
|
||||||
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]);
|
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BACKGROUND]);
|
||||||
send_frame_done_layer(&data,
|
send_frame_done_layer(&data,
|
||||||
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]);
|
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_BOTTOM]);
|
||||||
|
|
||||||
struct sway_container *workspace = output_get_active_workspace(output);
|
|
||||||
send_frame_done_container(&data, workspace);
|
send_frame_done_container(&data, workspace);
|
||||||
send_frame_done_container(&data, workspace->sway_workspace->floating);
|
send_frame_done_container(&data, workspace->sway_workspace->floating);
|
||||||
|
|
||||||
send_frame_done_unmanaged(&data,
|
send_frame_done_unmanaged(&data,
|
||||||
&root_container.sway_root->xwayland_unmanaged);
|
&root_container.sway_root->xwayland_unmanaged);
|
||||||
|
|
||||||
send_frame_done_layer(&data,
|
send_frame_done_layer(&data,
|
||||||
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]);
|
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_TOP]);
|
||||||
|
}
|
||||||
|
|
||||||
send_frame_done_layer(&data,
|
send_frame_done_layer(&data,
|
||||||
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]);
|
&output->layers[ZWLR_LAYER_SHELL_V1_LAYER_OVERLAY]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue