]> Dogcows Code - chaz/openbox/blobdiff - openbox/resist.c
update copyright step 2
[chaz/openbox] / openbox / resist.c
index 5f3ab9b75d9d187856728a0604ee3ef3be914bf2..bda7760136508530e7eb75ab0d195a119795ce67 100644 (file)
@@ -1,6 +1,7 @@
 /* -*- indent-tabs-mode: nil; tab-width: 4; c-basic-offset: 4; -*-
 
    resist.c for the Openbox window manager
+   Copyright (c) 2006        Mikael Magnusson
    Copyright (c) 2003        Ben Jansens
 
    This program is free software; you can redistribute it and/or modify
@@ -47,16 +48,21 @@ void resist_move_windows(ObClient *c, gint *x, gint *y)
     cb = RECT_BOTTOM(c->frame->area);
     
     if (config_resist_win)
-        for (it = stacking_list; it != NULL; it = it->next) {
+        for (it = stacking_list; it; it = g_list_next(it)) {
             ObClient *target;
-            int tl, tt, tr, tb; /* 1 past the target's edges on each side */
+            gint tl, tt, tr, tb; /* 1 past the target's edges on each side */
 
             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;
@@ -187,7 +193,7 @@ void resist_size_windows(ObClient *c, gint *w, gint *h, ObCorner corn)
     b = RECT_BOTTOM(c->frame->area);
 
     if (config_resist_win) {
-        for (it = stacking_list; it != NULL; it = it->next) {
+        for (it = stacking_list; it; it = g_list_next(it)) {
             if (!WINDOW_IS_CLIENT(it->data))
                 continue;
             target = it->data;
@@ -195,6 +201,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);
This page took 0.022179 seconds and 4 git commands to generate.