make this focus shit not buggy again..
Dana Jansens danakj@orodu.net
2 files changed,
7 insertions(+),
3 deletions(-)
M
scripts/focus.py
→
scripts/focus.py
@@ -102,7 +102,7 @@ _clients.insert(0, win)
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 @@ _doing_stacked = 0;
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)
M
src/openbox.cc
→
src/openbox.cc
@@ -360,7 +360,11 @@
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