tAlways call wm_teleport() in snaptoedge() - glazier - window management experiments
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) Submodules
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 333b7862f44d8c9ab1f8cb96b4feaabeed4093bc
 (DIR) parent 7dbc157ea87332b031f4b9055c86a1b6d885ecc9
 (HTM) Author: Willy Goiffon <dev@z3bra.org>
       Date:   Tue,  9 Jun 2020 21:10:20 +0200
       
       Always call wm_teleport() in snaptoedge()
       
       Diffstat:
         M glazier.c                           |      15 ++++++---------
       
       1 file changed, 6 insertions(+), 9 deletions(-)
       ---
 (DIR) diff --git a/glazier.c b/glazier.c
       t@@ -737,7 +737,7 @@ crossedge(xcb_window_t wid)
        int
        snaptoedge(xcb_window_t wid)
        {
       -        int tp, b;
       +        int b;
                struct geom_t *m, w;
        
                b   = wm_get_attribute(wid, ATTR_B);
       t@@ -747,16 +747,13 @@ snaptoedge(xcb_window_t wid)
                w.h = wm_get_attribute(wid, ATTR_H);
                m = monitor(w.x, w.y);
        
       -        tp = 0;
       -
       -        if (w.w + 2*b > m->w) { tp = 1; w.w = m->w - 2*b; }
       -        if (w.h + 2*b > m->h) { tp = 1; w.h = m->h - 2*b; }
       +        if (w.w + 2*b > m->w) w.w = m->w - 2*b;
       +        if (w.h + 2*b > m->h) w.h = m->h - 2*b;
        
       -        if (w.x + w.w + 2*b > m->x + m->w) { tp = 1; w.x = MAX(m->x + b, m->x + m->w - w.w - 2*b); }
       -        if (w.y + w.h + 2*b > m->y + m->h) { tp = 1; w.y = MAX(m->y + b, m->y + m->h - w.h - 2*b); }
       +        if (w.x + w.w + 2*b > m->x + m->w) w.x = MAX(m->x + b, m->x + m->w - w.w - 2*b);
       +        if (w.y + w.h + 2*b > m->y + m->h) w.y = MAX(m->y + b, m->y + m->h - w.h - 2*b);
        
       -        if (tp)
       -                wm_teleport(wid, w.x, w.y, w.w, w.h);
       +        wm_teleport(wid, w.x, w.y, w.w, w.h);
                
                return 0;
        }