diff --git a/src/animation/client.h b/src/animation/client.h index e9a4ac8..1a93df3 100644 --- a/src/animation/client.h +++ b/src/animation/client.h @@ -820,6 +820,9 @@ void init_fadeout_client(Client *c) { fadeout_cient->animation.duration / output_frame_duration_ms(); wlr_scene_node_set_enabled(&fadeout_cient->scene->node, true); wl_list_insert(&fadeout_clients, &fadeout_cient->fadeout_link); + + // 请求刷新屏幕 + wlr_output_schedule_frame(c->mon->wlr_output); } void client_commit(Client *c) { diff --git a/src/animation/layer.h b/src/animation/layer.h index cb2193b..138dc1b 100644 --- a/src/animation/layer.h +++ b/src/animation/layer.h @@ -450,6 +450,9 @@ void init_fadeout_layers(LayerSurface *l) { // 将节点插入到关闭动画链表中,屏幕刷新哪里会检查链表中是否有节点可以应用于动画 wlr_scene_node_set_enabled(&fadeout_layer->scene->node, true); wl_list_insert(&fadeout_layers, &fadeout_layer->fadeout_link); + + // 请求刷新屏幕 + wlr_output_schedule_frame(l->mon->wlr_output); } void layer_set_pending_state(LayerSurface *l) {