fix: global window lost manage
This commit is contained in:
9
main.c
9
main.c
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user