shod

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 5b793c2ca94a418f41ad60f44ca4537b57be19c4
parent 1fb999734f9d222ed9cf5fbac68638983a0cec90
Author: phillbush <phillbush@cock.li>
Date:   Sun,  3 Oct 2021 23:00:35 -0300

fix snap-to-edge when moving

Diffstat:
Mshod.c | 50+++++++++++++++++++++++++++-----------------------
1 file changed, 27 insertions(+), 23 deletions(-)

diff --git a/shod.c b/shod.c @@ -3239,30 +3239,34 @@ containerincrmove(struct Container *c, int x, int y) } for (tmp = wm.c; tmp != NULL; tmp = tmp->next) { if (!tmp->isminimized && tmp->mon == c->mon && - (tmp->issticky || tmp->desk == c->desk)) { - if (abs(c->y + c->h - tmp->y) < config.snap) { - c->y = tmp->y - c->h; - } - if (abs(c->y - tmp->y) < config.snap) { - c->y = tmp->y; - } - if (abs(c->y + c->h - tmp->y - tmp->h) < config.snap) { - c->y = tmp->y + tmp->h - c->h; - } - if (abs(c->y - tmp->y - tmp->h) < config.snap) { - c->y = tmp->y + tmp->h; - } - if (abs(c->x + c->w - tmp->x) < config.snap) { - c->x = tmp->x - c->w; - } - if (abs(c->x - tmp->x) < config.snap) { - c->x = tmp->x; - } - if (abs(c->x + c->w - tmp->x - tmp->w) < config.snap) { - c->x = tmp->x + tmp->w - c->w; + (tmp->issticky || tmp->desk == c->desk)) { + if (c->x + c->w >= tmp->x && c->x <= tmp->x + tmp->w) { + if (abs(c->y + c->h - tmp->y) < config.snap) { + c->y = tmp->y - c->h; + } + if (abs(c->y - tmp->y) < config.snap) { + c->y = tmp->y; + } + if (abs(c->y + c->h - tmp->y - tmp->h) < config.snap) { + c->y = tmp->y + tmp->h - c->h; + } + if (abs(c->y - tmp->y - tmp->h) < config.snap) { + c->y = tmp->y + tmp->h; + } } - if (abs(c->x - tmp->x - tmp->w) < config.snap) { - c->x = tmp->x + tmp->w; + if (c->y + c->h >= tmp->y && c->y <= tmp->y + tmp->h) { + if (abs(c->x + c->w - tmp->x) < config.snap) { + c->x = tmp->x - c->w; + } + if (abs(c->x - tmp->x) < config.snap) { + c->x = tmp->x; + } + if (abs(c->x + c->w - tmp->x - tmp->w) < config.snap) { + c->x = tmp->x + tmp->w - c->w; + } + if (abs(c->x - tmp->x - tmp->w) < config.snap) { + c->x = tmp->x + tmp->w; + } } } }