diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-04 09:34:17 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-04 09:34:17 +0000 |
| commit | 8a05ae261d640df3844fdae942556793c62bd073 (patch) | |
| tree | f279dbdb0f79f487c8b827b817e26a51c040e884 /scripts/focus.py | |
| parent | 00978e674a53cf95693d3a58c28508f557ec6a0f (diff) | |
split out the linear cycling into focuscycle.py.
some better comments about what options can be used.
Diffstat (limited to 'scripts/focus.py')
| -rw-r--r-- | scripts/focus.py | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/scripts/focus.py b/scripts/focus.py index 03c50f41..97030013 100644 --- a/scripts/focus.py +++ b/scripts/focus.py @@ -9,21 +9,10 @@ avoid_skip_taskbar = 1 """Don't focus windows which have requested to not be displayed in taskbars. You will still be able to focus the windows, but not through cycling, and they won't be focused as a fallback if 'fallback' is enabled.""" -raise_window = 1 -"""When cycling focus, raise the window chosen as well as focusing it. This - does not affect fallback focusing behavior.""" fallback = 0 """Send focus somewhere when nothing is left with the focus, if possible.""" ########################################################################### -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) - ########################################################################### ########################################################################### @@ -31,7 +20,6 @@ def previous(data, num=1): ### Internal stuff, should not be accessed outside the module. ### ########################################################################### -import otk import ob # maintain a list of clients, stacked in focus order @@ -78,46 +66,4 @@ ob.ebind(ob.EventAction.NewWindow, _newwindow) ob.ebind(ob.EventAction.CloseWindow, _closewindow) ob.ebind(ob.EventAction.Focus, _focused) -def _cycle(data, num, forward): - global avoid_skip_taskbar - - 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 _focusable(client, desktop) and client.focus(): - if cycle_raise: - 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 focus.py" |
