diff options
Diffstat (limited to 'scripts/focuscycle.py')
| -rw-r--r-- | scripts/focuscycle.py | 72 |
1 files changed, 0 insertions, 72 deletions
diff --git a/scripts/focuscycle.py b/scripts/focuscycle.py deleted file mode 100644 index 37d5643f..00000000 --- a/scripts/focuscycle.py +++ /dev/null @@ -1,72 +0,0 @@ -########################################################################### -### Functions for cycling focus (in a 'linear' order) between windows. ### -########################################################################### - -########################################################################### -### Options that affect the behavior of the focuscycle module. ### -########################################################################### -RAISE_WINDOW = 1 -"""When cycling focus, raise the window chosen as well as focusing it. This - does not affect fallback focusing behavior.""" -# See focus.AVOID_SKIP_TASKBAR -########################################################################### - -def next(data, num=1): - """Focus the next window.""" - _cycle(data, num, 1) - -def previous(data, num=1): - """Focus the previous window.""" - _cycle(data, num, 0) - -########################################################################### -########################################################################### - -########################################################################### -### Internal stuff, should not be accessed outside the module. ### -########################################################################### - -import ob -import focus - -def _cycle(data, num, forward): - screen = ob.openbox.screen(data.screen) - count = screen.clientCount() - - if not count: return # no clients - - target = 0 - if data.client: - client_win = data.client.window() - found = 0 - r = range(count) - if not forward: - r.reverse() - for i in r: - if found: - target = i - found = 2 - break - elif screen.client(i).window() == client_win: - found = 1 - if found == 1: # wraparound - if forward: target = 0 - else: target = count - 1 - - t = target - desktop = screen.desktop() - while 1: - client = screen.client(t) - if client and focus._focusable(client, desktop) and client.focus(): - if RAISE_WINDOW: - screen.raiseWindow(client) - return - if forward: - t += num - if t >= count: t -= count - else: - t -= num - if t < 0: t += count - if t == target: return # nothing to focus - -print "Loaded focuscycle.py" |
