make Escape abort cycling

This commit is contained in:
Dana Jansens 2003-02-04 09:01:38 +00:00
parent a04d9fc256
commit 741aecf842

View file

@ -197,16 +197,24 @@ class cycledata:
self.activatetarget(0) # activate, but dont deiconify/unshade/raise self.activatetarget(0) # activate, but dont deiconify/unshade/raise
def grabfunc(self, data): def grabfunc(self, data):
if data.action == ob.KeyAction.Release: done = 0
# have all the modifiers this started with been released? # have all the modifiers this started with been released?
if not self.state & data.state: if (data.action == ob.KeyAction.Release and
self.cycling = 0 not self.state & data.state):
focus._disable = 0 done = 1
self.activatetarget(1) # activate, and deiconify/unshade/raise # has Escape been pressed?
self.destroypopup() if data.action == ob.KeyAction.Press and data.key == "Escape":
ob.kungrab() done = 1
ob.mungrab() # revert
self.menupos = 0
if done:
self.cycling = 0
focus._disable = 0
self.activatetarget(1) # activate, and deiconify/unshade/raise
self.destroypopup()
ob.kungrab()
ob.mungrab()
def _newwindow(data): def _newwindow(data):
if _o.cycling: _o.populatelist() if _o.cycling: _o.populatelist()