diff options
Diffstat (limited to 'openbox/resist.c')
| -rw-r--r-- | openbox/resist.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/openbox/resist.c b/openbox/resist.c index c88f5948..42c03675 100644 --- a/openbox/resist.c +++ b/openbox/resist.c @@ -54,9 +54,14 @@ void resist_move_windows(ObClient *c, gint *x, gint *y) if (!WINDOW_IS_CLIENT(it->data)) continue; target = it->data; + /* don't snap to self or non-visibles */ if (!target->frame->visible || target == c) continue; + /* don't snap to windows in layers beneath */ + if(target->layer < c->layer && !config_resist_layers_below) + continue; + tl = RECT_LEFT(target->frame->area) - 1; tt = RECT_TOP(target->frame->area) - 1; tr = RECT_RIGHT(target->frame->area) + 1; @@ -195,6 +200,10 @@ void resist_size_windows(ObClient *c, gint *w, gint *h, ObCorner corn) /* don't snap to invisibles or ourself */ if (!target->frame->visible || target == c) continue; + /* don't snap to windows in layers beneath */ + if(target->layer < c->layer && !config_resist_layers_below) + continue; + tl = RECT_LEFT(target->frame->area); tr = RECT_RIGHT(target->frame->area); tt = RECT_TOP(target->frame->area); |
