X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Ffocus.py;h=dbaf4bc444b87f293c9bb2268297f99c4c81bb83;hb=dca8c61a91cab29128a72f252b70f4bd9f7786ff;hp=f51b92144e5ddf02fa989288185aaa514d88eb94;hpb=7d66a2a42b97938a4c4d925abf0ec0d3d4976d95;p=chaz%2Fopenbox diff --git a/scripts/focus.py b/scripts/focus.py index f51b9214..dbaf4bc4 100644 --- a/scripts/focus.py +++ b/scripts/focus.py @@ -24,11 +24,12 @@ import ob # maintain a list of clients, stacked in focus order _clients = [] -_disable = 0 +_skip = 0 def _focusable(client, desktop): if not client.normal(): return 0 if not (client.canFocus() or client.focusNotify()): return 0 + if client.iconic(): return 0 if AVOID_SKIP_TASKBAR and client.skipTaskbar(): return 0 desk = client.desktop() @@ -47,9 +48,11 @@ def _remove(client): raise ValueError("_remove(x): x not in _clients list.") def _focused(data): - global _clients + global _clients, _skip - if _disable: return + if _skip: + _skip -= 1 + return if data.client: # move it to the top @@ -66,7 +69,7 @@ def _focused(data): def _newwindow(data): # make sure its not already in the list - win = client.window() + win = data.client.window() for i in range(len(_clients)): if _clients[i].window() == win: return