Moved toplevel widget to PyncheWidget.py
diff --git a/Tools/pynche/Main.py b/Tools/pynche/Main.py
index 25b9aef..3eeccbf 100644
--- a/Tools/pynche/Main.py
+++ b/Tools/pynche/Main.py
@@ -10,7 +10,11 @@
 power, that I finally buckled down and implemented it.  I changed the name
 because these days, too many other systems have the acronym `ICE'.
 
-Usage: %(PROGRAM) [-h]
+This program currently requires Python 1.5 with Tkinter.  It also requires at
+least Pmw 0.6.1.  It has only been tested on Solaris 2.6.  Feedback is greatly 
+appreciated.  Send email to bwarsaw@python.org
+
+Usage: %(PROGRAM)s [-h]
 
 Where:
     --help
@@ -21,3 +25,90 @@
 
 __version__ = '1.0'
 
+import sys
+import getopt
+import Pmw
+import ColorDB
+from Tkinter import *
+from PyncheWidget import PyncheWidget
+
+
+
+PROGRAM = sys.argv[0]
+
+# Milliseconds between interrupt checks
+KEEPALIVE_TIMER = 500
+
+RGBCOLOR = 1
+HSICOLOR = 2
+NAMEDCOLOR = 3
+
+# Default locations of rgb.txt or other textual color database
+RGB_TXT = [
+    # Solaris OpenWindows
+    '/usr/openwin/lib/rgb.txt',
+    # add more here
+    ]
+
+
+
+def usage(status, msg=''):
+    if msg:
+	print msg
+    print __doc__ % globals()
+    sys.exit(status)
+
+
+
+app = None
+
+def keepalive():
+    # Exercise the Python interpreter regularly so keybard interrupts get
+    # through.
+    app.tk.createtimerhandler(KEEPALIVE_TIMER, keepalive)
+
+
+def main():
+    global app
+
+    initialcolor = 'grey50'
+    try:
+	opts, args = getopt.getopt(sys.argv[1:],
+				   'hc:',
+				   ['color=', 'help'])
+    except getopt.error, msg:
+	usage(1, msg)
+
+    if args:
+	usage(1)
+
+    for opt, arg in opts:
+	if opt in ('-h', '--help'):
+	    usage(0)
+	elif opt in ('-c', '--color'):
+	    initialcolor = arg
+
+    # create the windows and go
+    for f in RGB_TXT:
+	try:
+	    colordb = ColorDB.get_colordb(f)
+	    break
+	except IOError:
+	    pass
+    else:
+	raise IOError('No color database file found')
+
+    app = Pmw.initialise(fontScheme='pmw1')
+    app.title('Pynche %s' % __version__)
+    app.tk.createtimerhandler(KEEPALIVE_TIMER, keepalive)
+    p = PyncheWidget(colordb, app, color=initialcolor)
+    try:
+	keepalive()
+	app.mainloop()
+    except KeyboardInterrupt:
+	pass
+
+
+
+if __name__ == '__main__':
+    main()