fix: tag animaition for float window miss clip

This commit is contained in:
DreamMaoMao 2025-04-05 07:26:53 +08:00
parent a43550345e
commit 5db7c42bac

View file

@ -1008,7 +1008,7 @@ void apply_border(Client *c, struct wlr_box clip_box, int offsetx,
wlr_scene_node_set_position(&c->border[3]->node, clip_box.width - c->bw, wlr_scene_node_set_position(&c->border[3]->node, clip_box.width - c->bw,
c->bw); c->bw);
if (ISTILED(c)) { if (ISTILED(c) || c->animation.tagining || c->animation.tagouted || c->animation.tagouting) {
if (c->animation.current.x < c->mon->m.x) { if (c->animation.current.x < c->mon->m.x) {
set_rect_size(c->border[2], 0, 0); set_rect_size(c->border[2], 0, 0);
} else if (c->animation.current.x + c->animation.current.width > } else if (c->animation.current.x + c->animation.current.width >
@ -1037,10 +1037,10 @@ struct uvec2 clip_to_hide(Client *c, struct wlr_box *clip_box) {
offset.x = 0; offset.x = 0;
offset.y =0; offset.y =0;
if(!ISTILED(c)) return offset; if(!ISTILED(c) && !c->animation.tagining && !c->animation.tagouted && !c->animation.tagouting) return offset;
// // make tagout tagin animations not visible in other monitors // // make tagout tagin animations not visible in other monitors
if (ISTILED(c)) { if (ISTILED(c) || c->animation.tagining || c->animation.tagouted || c->animation.tagouting) {
if (c->animation.current.x <= c->mon->m.x) { if (c->animation.current.x <= c->mon->m.x) {
offsetx = c->mon->m.x - c->animation.current.x - c->bw; offsetx = c->mon->m.x - c->animation.current.x - c->bw;
clip_box->x = clip_box->x + offsetx; clip_box->x = clip_box->x + offsetx;