diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-02-04 09:01:38 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-02-04 09:01:38 +0000 |
| commit | 741aecf842563284f4e756bf3d935d551aaad8fa (patch) | |
| tree | 96f6c49fa99b7801f7a26846f632b498fe3371bd /scripts | |
| parent | a04d9fc256b668ed3398fedf5880e02da80a351a (diff) | |
make Escape abort cycling
Diffstat (limited to 'scripts')
| -rw-r--r-- | scripts/stackedcycle.py | 26 |
1 files 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() |
