make this focus shit not buggy again..
authorDana Jansens <danakj@orodu.net>
Tue, 4 Feb 2003 00:45:27 +0000 (00:45 +0000)
committerDana Jansens <danakj@orodu.net>
Tue, 4 Feb 2003 00:45:27 +0000 (00:45 +0000)
scripts/focus.py
src/openbox.cc

index e766f13..4ac2218 100644 (file)
@@ -102,7 +102,7 @@ def _focused(data):
         else: # if we are cycling, then update our pointer
             _cyc_w = data.client.window()
             _hilite_popup_list(data)
-    elif fallback: 
+    elif fallback:
         # pass around focus
         desktop = ob.openbox.screen(_cyc_screen).desktop()
         for w in _clients:
@@ -158,7 +158,7 @@ def _focus_stacked_ungrab(data):
             client = ob.openbox.findClient(_cyc_w)
             if client:
                 data.client = client
-                _focused(data) # resort the list as appropriate
+                #_focused(data) # resort the list as appropriate
                 if cycle_raise:
                     ob.openbox.screen(data.screen).raiseWindow(client)
 
index 50146e2..29f9ea9 100644 (file)
@@ -360,7 +360,11 @@ Client *Openbox::findClient(Window window)
 
 void Openbox::setFocusedClient(Client *c)
 {
-  if (c == _focused_client) return;
+  // sometimes this is called with the already-focused window, this is
+  // important for the python scripts to work (eg, c = 0 twice, or for the
+  // cycling list, it relies on this behavior. don't just return if its already
+  // set as focused
+  
   assert(_focused_screen);
 
   // uninstall the old colormap