From 741aecf842563284f4e756bf3d935d551aaad8fa Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Tue, 4 Feb 2003 09:01:38 +0000 Subject: [PATCH] make Escape abort cycling --- scripts/stackedcycle.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/scripts/stackedcycle.py b/scripts/stackedcycle.py index 633728ce..791a93a2 100644 --- a/scripts/stackedcycle.py +++ b/scripts/stackedcycle.py @@ -197,16 +197,24 @@ class cycledata: self.activatetarget(0) # activate, but dont deiconify/unshade/raise def grabfunc(self, data): - if data.action == ob.KeyAction.Release: - # have all the modifiers this started with been released? - if not self.state & data.state: - self.cycling = 0 - focus._disable = 0 - self.activatetarget(1) # activate, and deiconify/unshade/raise - self.destroypopup() - ob.kungrab() - ob.mungrab() + done = 0 + # have all the modifiers this started with been released? + if (data.action == ob.KeyAction.Release and + not self.state & data.state): + done = 1 + # has Escape been pressed? + if data.action == ob.KeyAction.Press and data.key == "Escape": + done = 1 + # 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): if _o.cycling: _o.populatelist() -- 2.45.2