fix: global window lost manage

This commit is contained in:
DreamMaoMao 2025-02-09 17:46:58 +08:00
parent 838fa77313
commit cdb0c9f316

9
main.c
View file

@ -1148,10 +1148,15 @@ arrange(Monitor *m, bool want_animation) {
if (!m->wlr_output->enabled) if (!m->wlr_output->enabled)
return; return;
wl_list_for_each(c, &clients, link) { wl_list_for_each(c, &clients, link) {
if (c->iskilling) if (c->iskilling)
continue; continue;
if (c->mon == m && c->isglobal) {
c->tags = m->tagset[m->seltags];
}
if (c->mon == m) { if (c->mon == m) {
if (VISIBLEON(c, m)) { if (VISIBLEON(c, m)) {
wlr_scene_node_set_enabled(&c->scene->node, true); wlr_scene_node_set_enabled(&c->scene->node, true);
@ -1716,7 +1721,9 @@ commitlayersurfacenotify(struct wl_listener *listener, void *data) {
void client_set_pending_state(Client *c) { void client_set_pending_state(Client *c) {
// 判断是否需要动画 // 判断是否需要动画
if (animations && c->animation.tagining) { if(c->isglobal){
c->animation.should_animate = false;
} else if (animations && c->animation.tagining) {
c->animation.tagining = false; c->animation.tagining = false;
c->animation.should_animate = true; c->animation.should_animate = true;
c->animation.initial = c->animainit_geom; c->animation.initial = c->animainit_geom;