diff options
author | David Scherer <dscherer@cmu.edu> | 2000-08-15 01:13:23 +0000 |
---|---|---|
committer | David Scherer <dscherer@cmu.edu> | 2000-08-15 01:13:23 +0000 |
commit | c63e174f5a09a7eeca581e6af4bca88bfebdab03 (patch) | |
tree | d7a9160b93834fd44b78491da090f1bc1b89c294 /Lib/idlelib/ZoomHeight.py | |
parent | 076e2c09dd0c82dfac5d0571523fc19b7177d64e (diff) | |
download | cpython-c63e174f5a09a7eeca581e6af4bca88bfebdab03.tar.gz |
Initial revision
Diffstat (limited to 'Lib/idlelib/ZoomHeight.py')
-rw-r--r-- | Lib/idlelib/ZoomHeight.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Lib/idlelib/ZoomHeight.py b/Lib/idlelib/ZoomHeight.py new file mode 100644 index 0000000000..ecc306a733 --- /dev/null +++ b/Lib/idlelib/ZoomHeight.py @@ -0,0 +1,46 @@ +# Sample extension: zoom a window to maximum height + +import re +import sys + +class ZoomHeight: + + menudefs = [ + ('windows', [ + ('_Zoom Height', '<<zoom-height>>'), + ]) + ] + + windows_keydefs = { + '<<zoom-height>>': ['<Alt-F2>'], + } + unix_keydefs = { + '<<zoom-height>>': ['<Control-x><Control-z>'], + } + + def __init__(self, editwin): + self.editwin = editwin + + def zoom_height_event(self, event): + top = self.editwin.top + zoom_height(top) + +def zoom_height(top): + geom = top.wm_geometry() + m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom) + if not m: + top.bell() + return + width, height, x, y = map(int, m.groups()) + newheight = top.winfo_screenheight() + if sys.platform == 'win32': + newy = 0 + newheight = newheight - 72 + else: + newy = 24 + newheight = newheight - 96 + if height >= newheight: + newgeom = "" + else: + newgeom = "%dx%d+%d+%d" % (width, newheight, x, newy) + top.wm_geometry(newgeom) |