]> Dogcows Code - chaz/openbox/blobdiff - openbox/resist.c
add raise action
[chaz/openbox] / openbox / resist.c
index e4596840f79ed7b93338d1c6c75a53acccf9160c..211a012c78215461a5983d3ee5fc4deb7aa95d81 100644 (file)
@@ -61,6 +61,8 @@ void resist_move_windows(ObClient *c, gint resist, gint *x, gint *y)
 
         /* don't snap to self or non-visibles */
         if (!target->frame->visible || target == c) continue; 
+        /* don't snap to windows set to below and skip_taskbar (desklets) */
+        if (target->below && !c->below && target->skip_taskbar) continue;
 
         tl = RECT_LEFT(target->frame->area) - 1;
         tt = RECT_TOP(target->frame->area) - 1;
@@ -152,7 +154,8 @@ void resist_move_monitors(ObClient *c, gint resist, gint *x, gint *y)
             continue;
         }
 
-        area = screen_area_monitor(c->desktop, i, &desired_area);
+        area = screen_area(c->desktop, SCREEN_AREA_ALL_MONITORS,
+                           &desired_area);
 
         al = RECT_LEFT(*area);
         at = RECT_TOP(*area);
@@ -216,6 +219,8 @@ void resist_size_windows(ObClient *c, gint resist, gint *w, gint *h,
 
         /* don't snap to invisibles or ourself */
         if (!target->frame->visible || target == c) continue; 
+        /* don't snap to windows set to below and skip_taskbar (desklets) */
+        if (target->below && !c->below && target->skip_taskbar) continue;
 
         tl = RECT_LEFT(target->frame->area);
         tr = RECT_RIGHT(target->frame->area);
@@ -307,7 +312,8 @@ void resist_size_monitors(ObClient *c, gint resist, gint *w, gint *h,
             continue;
         }
 
-        area = screen_area_monitor(c->desktop, i, &desired_area);
+        area = screen_area(c->desktop, SCREEN_AREA_ALL_MONITORS,
+                           &desired_area);
 
         /* get the screen boundaries */
         al = RECT_LEFT(*area);
This page took 0.020662 seconds and 4 git commands to generate.