Mercurial > cpython-lru_cache-weakref
annotate Demo/tkinter/guido/ShellWindow.py @ 5817:48b94de85bf3 legacy-trunk
Extensive changes by AMK.
| author | Guido van Rossum <guido@python.org> |
|---|---|
| date | Thu, 17 Jul 1997 16:29:42 +0000 |
| parents | e9b35cc88b50 |
| children | 23083bd8c261 |
| rev | line source |
|---|---|
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
1 import os |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
2 import sys |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
3 import string |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
4 from Tkinter import * |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
5 from ScrolledText import ScrolledText |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
6 from Dialog import Dialog |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
7 import signal |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
8 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
9 BUFSIZE = 512 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
10 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
11 class ShellWindow(ScrolledText): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
12 |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
13 def __init__(self, master=None, shell=None, **cnf): |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
14 if not shell: |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
15 try: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
16 shell = os.environ['SHELL'] |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
17 except KeyError: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
18 shell = '/bin/sh' |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
19 shell = shell + ' -i' |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
20 args = string.split(shell) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
21 shell = args[0] |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
22 |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
23 apply(ScrolledText.__init__, (self, master), cnf) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
24 self.pos = '1.0' |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
25 self.bind('<Return>', self.inputhandler) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
26 self.bind('<Control-c>', self.sigint) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
27 self.bind('<Control-t>', self.sigterm) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
28 self.bind('<Control-k>', self.sigkill) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
29 self.bind('<Control-d>', self.sendeof) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
30 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
31 self.pid, self.fromchild, self.tochild = spawn(shell, args) |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
32 self.tk.createfilehandler(self.fromchild, READABLE, |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
33 self.outputhandler) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
34 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
35 def outputhandler(self, file, mask): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
36 data = os.read(file, BUFSIZE) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
37 if not data: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
38 self.tk.deletefilehandler(file) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
39 pid, sts = os.waitpid(self.pid, 0) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
40 print 'pid', pid, 'status', sts |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
41 self.pid = None |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
42 detail = sts>>8 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
43 cause = sts & 0xff |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
44 if cause == 0: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
45 msg = "exit status %d" % detail |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
46 else: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
47 msg = "killed by signal %d" % (cause & 0x7f) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
48 if cause & 0x80: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
49 msg = msg + " -- core dumped" |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
50 Dialog(self.master, |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
51 text=msg, |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
52 title="Exit status", |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
53 bitmap='warning', |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
54 default=0, |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
55 strings=('OK',)) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
56 return |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
57 self.insert(END, data) |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
58 self.pos = self.index("end - 1 char") |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
59 self.yview_pickplace(END) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
60 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
61 def inputhandler(self, *args): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
62 if not self.pid: |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
63 self.no_process() |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
64 return "break" |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
65 self.insert(END, "\n") |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
66 line = self.get(self.pos, "end - 1 char") |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
67 self.pos = self.index(END) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
68 os.write(self.tochild, line) |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
69 return "break" |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
70 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
71 def sendeof(self, *args): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
72 if not self.pid: |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
73 self.no_process() |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
74 return "break" |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
75 os.close(self.tochild) |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
76 return "break" |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
77 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
78 def sendsig(self, sig): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
79 if not self.pid: |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
80 self.no_process() |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
81 return "break" |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
82 os.kill(self.pid, sig) |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
83 return "break" |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
84 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
85 def sigint(self, *args): |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
86 return self.sendsig(signal.SIGINT) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
87 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
88 def sigquit(self, *args): |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
89 return self.sendsig(signal.SIGQUIT) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
90 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
91 def sigterm(self, *args): |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
92 return self.sendsig(signal.SIGTERM) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
93 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
94 def sigkill(self, *args): |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
95 return self.sendsig(signal.SIGKILL) |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
96 |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
97 def no_process(self): |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
98 Dialog(self.master, |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
99 text="No active process", |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
100 title="No process", |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
101 bitmap='error', |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
102 default=0, |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
103 strings=('OK',)) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
104 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
105 MAXFD = 100 # Max number of file descriptors (os.getdtablesize()???) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
106 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
107 def spawn(prog, args): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
108 p2cread, p2cwrite = os.pipe() |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
109 c2pread, c2pwrite = os.pipe() |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
110 pid = os.fork() |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
111 if pid == 0: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
112 # Child |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
113 os.close(0) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
114 os.close(1) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
115 os.close(2) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
116 if os.dup(p2cread) <> 0: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
117 sys.stderr.write('popen2: bad read dup\n') |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
118 if os.dup(c2pwrite) <> 1: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
119 sys.stderr.write('popen2: bad write dup\n') |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
120 if os.dup(c2pwrite) <> 2: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
121 sys.stderr.write('popen2: bad write dup\n') |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
122 for i in range(3, MAXFD): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
123 try: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
124 os.close(i) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
125 except: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
126 pass |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
127 try: |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
128 os.execvp(prog, args) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
129 finally: |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
130 sys.stderr.write('execvp failed\n') |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
131 os._exit(1) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
132 os.close(p2cread) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
133 os.close(c2pwrite) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
134 return pid, c2pread, p2cwrite |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
135 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
136 def test(): |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
137 shell = string.join(sys.argv[1:]) |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
138 root = Tk() |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
139 root.minsize(1, 1) |
|
3867
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
140 if shell: |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
141 w = ShellWindow(root, shell=shell) |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
142 else: |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
143 w = ShellWindow(root) |
|
e9b35cc88b50
Updated for Python 1.4
Guido van Rossum <guido@python.org>
parents:
2119
diff
changeset
|
144 w.pack(expand=1, fill=BOTH) |
|
2119
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
145 w.focus_set() |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
146 w.tk.mainloop() |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
147 |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
148 if __name__ == '__main__': |
|
1dae0d3062d2
demonstrate shell in a Tk window
Guido van Rossum <guido@python.org>
parents:
diff
changeset
|
149 test() |
