]> Dogcows Code - chaz/openbox/commitdiff
let transients take focus when anything in the transient tree _or the group_ is focused
authorDana Jansens <danakj@orodu.net>
Wed, 6 Jun 2007 14:23:56 +0000 (14:23 +0000)
committerDana Jansens <danakj@orodu.net>
Wed, 6 Jun 2007 14:23:56 +0000 (14:23 +0000)
openbox/client.c

index 4cfece1dd2e8996bcc83632ab195e8b70ebfab46..5aa9ba74ce69edd15c943456c95a1b10c4ab4eda 100644 (file)
@@ -2367,20 +2367,19 @@ ObClient *client_search_focus_tree(ObClient *self)
 
 ObClient *client_search_focus_tree_full(ObClient *self)
 {
-    if (self->transient_for) {
-        if (self->transient_for != OB_TRAN_GROUP) {
-            return client_search_focus_tree_full(self->transient_for);
-        } else {
-            GSList *it;
-        
-            for (it = self->group->members; it; it = g_slist_next(it)) {
-                if (it->data != self) {
-                    ObClient *c = it->data;
+    GSList *it;
+    ObClient *c;
 
-                    if (client_focused(c)) return c;
-                    if ((c = client_search_focus_tree(it->data))) return c;
-                }
-            }
+    if (self->transient_for && self->transient_for != OB_TRAN_GROUP) {
+        if ((c = client_search_focus_tree_full(self->transient_for)))
+            return c;
+    }
+        
+    for (it = self->group->members; it; it = g_slist_next(it)) {
+        if (it->data != self) {
+            c = it->data;
+            if (client_focused(c)) return c;
+            if ((c = client_search_focus_tree(it->data))) return c;
         }
     }
 
This page took 0.026964 seconds and 4 git commands to generate.