blob: eee901c04f7de9e0c28975a3fae6baab760f6011 [file] [log] [blame]
Guido van Rossum504b0bf1999-01-02 21:28:54 +00001# Sample extension: zoom a window to maximum height
2
3import re
4
5class ZoomHeight:
6
7 menudefs = [
8 ('windows', [
9 ('_Zoom Height', '<<zoom-height>>'),
10 ])
11 ]
12
13 windows_keydefs = {
14 '<<zoom-height>>': ['<Alt-F2>'],
15 }
16 unix_keydefs = {
17 '<<zoom-height>>': ['<Control-z><Control-z>'],
18 }
19
20 def __init__(self, editwin):
21 self.editwin = editwin
22
23 def zoom_height_event(self, event):
24 top = self.editwin.top
25 geom = top.wm_geometry()
26 m = re.match(r"(\d+)x(\d+)\+(-?\d+)\+(-?\d+)", geom)
27 if not m:
28 top.bell()
29 return
30 width, height, x, y = map(int, m.groups())
31 height = top.winfo_screenheight() - 72
32 newgeom = "%dx%d+%d+%d" % (width, height, x, 0)
33 if geom == newgeom:
34 newgeom = ""
35 top.wm_geometry(newgeom)