all repos — openbox @ 82d147b5d74757ce6f1676aab16c9e6e1e837b4e

openbox fork - make it a bit more like ryudo

better skipping of focus events while stackedcycling, fixes bug where esc would still change the order.
Dana Jansens danakj@orodu.net
commit

82d147b5d74757ce6f1676aab16c9e6e1e837b4e

parent

4ef15148365c223b8e810611a10dc27dc5fba355

2 files changed, 9 insertions(+), 5 deletions(-)

jump to
M scripts/focus.pyscripts/focus.py

@@ -24,7 +24,7 @@ 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

@@ -50,9 +50,13 @@

def _focused(data): global _clients - if _disable: return + if _skip: + global _skip + _skip -= 1 + return if data.client: + print data.client.window() # move it to the top try: _remove(data.client)
M scripts/stackedcycle.pyscripts/stackedcycle.py

@@ -167,6 +167,8 @@ else: r = 0

ob.send_client_msg(self.screeninfo.rootWindow(), otk.atoms.openbox_active_window, client.window(), final, r) + if not final: + focus._skip += 1 def cycle(self, data, forward): if not self.cycling:

@@ -177,7 +179,6 @@ # popup disappears, screwing up the focus

ob.mgrab(data.screen) self.cycling = 1 - focus._disable = 1 self.state = data.state self.screen = ob.openbox.screen(data.screen) self.screeninfo = otk.display.screenInfo(data.screen)

@@ -215,11 +216,10 @@ # revert

self.menupos = 0 if done: - self.cycling = 0 - focus._disable = 0 # activate, and deiconify/unshade/raise self.activatetarget(notreverting) self.destroypopup() + self.cycling = 0 ob.kungrab() ob.mungrab()