From 4ddb8181c2e4d6a4f4108c501a838d1101f2f7a5 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 4 Feb 2003 00:45:27 +0000 Subject: [PATCH] make this focus shit not buggy again.. --- scripts/focus.py | 4 ++-- src/openbox.cc | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/scripts/focus.py b/scripts/focus.py index e766f134..4ac22183 100644 --- a/scripts/focus.py +++ b/scripts/focus.py @@ -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) diff --git a/src/openbox.cc b/src/openbox.cc index 50146e27..29f9ea94 100644 --- a/src/openbox.cc +++ b/src/openbox.cc @@ -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 -- 2.39.2