remove the edges_hit_layers_below option. don't use windows in other layers for resis...
authorDana Jansens <danakj@orodu.net>
Sat, 12 May 2007 18:56:56 +0000 (18:56 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 12 May 2007 18:56:56 +0000 (18:56 +0000)
data/rc.xml
data/rc.xsd
openbox/client.c
openbox/config.c
openbox/config.h
openbox/resist.c

index 9c6f642..52ca0e4 100644 (file)
@@ -10,7 +10,6 @@
 <resistance>
   <strength>10</strength>
   <screen_edge_strength>20</screen_edge_strength>
 <resistance>
   <strength>10</strength>
   <screen_edge_strength>20</screen_edge_strength>
-  <edges_hit_layers_below>no</edges_hit_layers_below>
 </resistance>
 
 <focus>
 </resistance>
 
 <focus>
index 71ab68c..2d4059f 100644 (file)
@@ -36,7 +36,6 @@
         </xsd:annotation>
         <xsd:element minOccurs="0" name="strength" type="xsd:integer"/>
         <xsd:element minOccurs="0" name="screen_edge_strength" type="xsd:integer"/>
         </xsd:annotation>
         <xsd:element minOccurs="0" name="strength" type="xsd:integer"/>
         <xsd:element minOccurs="0" name="screen_edge_strength" type="xsd:integer"/>
-        <xsd:element minOccurs="0" name="edges_hit_layers_below" type="ob:bool"/>
     </xsd:complexType>
     <xsd:complexType name="focus">
         <xsd:annotation>
     </xsd:complexType>
     <xsd:complexType name="focus">
         <xsd:annotation>
index ffac20d..8428be6 100644 (file)
@@ -3710,7 +3710,7 @@ ObClient *client_search_transient(ObClient *self, ObClient *search)
                 continue;                                                     \
             if(cur->iconic)                                                   \
                 continue;                                                     \
                 continue;                                                     \
             if(cur->iconic)                                                   \
                 continue;                                                     \
-            if(cur->layer < c->layer && !config_resist_layers_below)          \
+            if(cur->layer == c->layer)                                        \
                 continue;
 
 #define HIT_EDGE(my_edge_start, my_edge_end, his_edge_start, his_edge_end) \
                 continue;
 
 #define HIT_EDGE(my_edge_start, my_edge_end, his_edge_start, his_edge_end) \
index c4fed63..6a45005 100644 (file)
@@ -87,7 +87,6 @@ GSList *config_menu_files;
 
 gint     config_resist_win;
 gint     config_resist_edge;
 
 gint     config_resist_win;
 gint     config_resist_edge;
-gboolean config_resist_layers_below;
 
 GSList *config_per_app_settings;
 
 
 GSList *config_per_app_settings;
 
@@ -705,8 +704,6 @@ static void parse_resistance(ObParseInst *i, xmlDocPtr doc, xmlNodePtr node,
         config_resist_win = parse_int(doc, n);
     if ((n = parse_find_node("screen_edge_strength", node)))
         config_resist_edge = parse_int(doc, n);
         config_resist_win = parse_int(doc, n);
     if ((n = parse_find_node("screen_edge_strength", node)))
         config_resist_edge = parse_int(doc, n);
-    if ((n = parse_find_node("edges_hit_layers_below", node)))
-        config_resist_layers_below = parse_bool(doc, n);
 }
 
 typedef struct
 }
 
 typedef struct
@@ -882,7 +879,6 @@ void config_startup(ObParseInst *i)
 
     config_resist_win = 10;
     config_resist_edge = 20;
 
     config_resist_win = 10;
     config_resist_edge = 20;
-    config_resist_layers_below = FALSE;
 
     parse_register(i, "resistance", parse_resistance, NULL);
 
 
     parse_register(i, "resistance", parse_resistance, NULL);
 
index 94991a6..6a0ee33 100644 (file)
@@ -149,8 +149,6 @@ extern gint config_mouse_dclicktime;
 extern gint config_resist_win;
 /*! Number of pixels to resist while crossing a screen's edge */
 extern gint config_resist_edge;
 extern gint config_resist_win;
 /*! Number of pixels to resist while crossing a screen's edge */
 extern gint config_resist_edge;
-/*! Should windows resist edges at layers below */
-extern gboolean config_resist_layers_below;
 
 /*! Warp near edge on menu? */
 extern gboolean config_menu_warppointer;
 
 /*! Warp near edge on menu? */
 extern gboolean config_menu_warppointer;
index 729f83f..56bd214 100644 (file)
@@ -57,15 +57,14 @@ void resist_move_windows(ObClient *c, gint resist, gint *x, gint *y)
 
         if (!WINDOW_IS_CLIENT(it->data))
             continue;
 
         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; 
 
         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;
         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;
     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; 
 
         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);
         tl = RECT_LEFT(target->frame->area);
         tr = RECT_RIGHT(target->frame->area);
         tt = RECT_TOP(target->frame->area);