diff options
Diffstat (limited to 'openbox/resist.c')
| -rw-r--r-- | openbox/resist.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/openbox/resist.c b/openbox/resist.c index 729f83fc..56bd214d 100644 --- a/openbox/resist.c +++ b/openbox/resist.c @@ -57,15 +57,14 @@ void resist_move_windows(ObClient *c, gint resist, gint *x, gint *y) if (!WINDOW_IS_CLIENT(it->data)) continue; + /* only snap in the same layer */ + if (window_layer(it->data) != c->layer) + 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; @@ -207,15 +206,14 @@ void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h, for (it = stacking_list; it; it = g_list_next(it)) { if (!WINDOW_IS_CLIENT(it->data)) continue; + /* only snap in the same layer */ + if (window_layer(it->data) != c->layer) + continue; target = it->data; /* 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); |
