opt: make tag animation more consistent
This commit is contained in:
@@ -9,19 +9,23 @@ void set_tagin_animation(Monitor *m, Client *c) {
|
|||||||
|
|
||||||
c->animainit_geom.x = tag_animation_direction == VERTICAL
|
c->animainit_geom.x = tag_animation_direction == VERTICAL
|
||||||
? c->animation.current.x
|
? c->animation.current.x
|
||||||
: c->mon->m.x + c->mon->m.width;
|
: MAX(c->mon->m.x + c->mon->m.width,
|
||||||
|
c->geom.x + c->mon->m.width);
|
||||||
c->animainit_geom.y = tag_animation_direction == VERTICAL
|
c->animainit_geom.y = tag_animation_direction == VERTICAL
|
||||||
? c->mon->m.y + c->mon->m.height
|
? MAX(c->mon->m.y + c->mon->m.height,
|
||||||
|
c->geom.y + c->mon->m.height)
|
||||||
: c->animation.current.y;
|
: c->animation.current.y;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
c->animainit_geom.x = tag_animation_direction == VERTICAL
|
c->animainit_geom.x =
|
||||||
? c->animation.current.x
|
tag_animation_direction == VERTICAL
|
||||||
: m->m.x - c->geom.width;
|
? c->animation.current.x
|
||||||
c->animainit_geom.y = tag_animation_direction == VERTICAL
|
: MIN(m->m.x - c->geom.width, c->geom.x - c->mon->m.width);
|
||||||
? m->m.y - c->geom.height
|
c->animainit_geom.y =
|
||||||
: c->animation.current.y;
|
tag_animation_direction == VERTICAL
|
||||||
|
? MIN(m->m.y - c->geom.height, c->geom.y - c->mon->m.height)
|
||||||
|
: c->animation.current.y;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,11 +56,13 @@ void set_arrange_visible(Monitor *m, Client *c, bool want_animation) {
|
|||||||
void set_tagout_animation(Monitor *m, Client *c) {
|
void set_tagout_animation(Monitor *m, Client *c) {
|
||||||
if (m->pertag->curtag > m->pertag->prevtag) {
|
if (m->pertag->curtag > m->pertag->prevtag) {
|
||||||
c->pending = c->geom;
|
c->pending = c->geom;
|
||||||
c->pending.x = tag_animation_direction == VERTICAL
|
c->pending.x =
|
||||||
? c->animation.current.x
|
tag_animation_direction == VERTICAL
|
||||||
: c->mon->m.x - c->geom.width;
|
? c->animation.current.x
|
||||||
|
: MIN(c->mon->m.x - c->geom.width, c->geom.x - c->mon->m.width);
|
||||||
c->pending.y = tag_animation_direction == VERTICAL
|
c->pending.y = tag_animation_direction == VERTICAL
|
||||||
? c->mon->m.y - c->geom.height
|
? MIN(c->mon->m.y - c->geom.height,
|
||||||
|
c->geom.y - c->mon->m.height)
|
||||||
: c->animation.current.y;
|
: c->animation.current.y;
|
||||||
|
|
||||||
resize(c, c->geom, 0);
|
resize(c, c->geom, 0);
|
||||||
@@ -64,9 +70,11 @@ void set_tagout_animation(Monitor *m, Client *c) {
|
|||||||
c->pending = c->geom;
|
c->pending = c->geom;
|
||||||
c->pending.x = tag_animation_direction == VERTICAL
|
c->pending.x = tag_animation_direction == VERTICAL
|
||||||
? c->animation.current.x
|
? c->animation.current.x
|
||||||
: c->mon->m.x + c->mon->m.width;
|
: MAX(c->mon->m.x + c->mon->m.width,
|
||||||
|
c->geom.x + c->mon->m.width);
|
||||||
c->pending.y = tag_animation_direction == VERTICAL
|
c->pending.y = tag_animation_direction == VERTICAL
|
||||||
? c->mon->m.y + c->mon->m.height
|
? MAX(c->mon->m.y + c->mon->m.height,
|
||||||
|
c->geom.y + c->mon->m.height)
|
||||||
: c->animation.current.y;
|
: c->animation.current.y;
|
||||||
resize(c, c->geom, 0);
|
resize(c, c->geom, 0);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user