commit 231b980a2c2f9b93e646a34814d858e42c8e2833 Author: Josh Holtrop Date: Fri Feb 4 10:44:48 2011 -0500 add initial script with command window diff --git a/py-launcher b/py-launcher new file mode 100755 index 0000000..83ff79f --- /dev/null +++ b/py-launcher @@ -0,0 +1,55 @@ +#!/usr/bin/env python + +import sys +import gtk +import gobject + +class Window: + def __init__(self): + self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) + self.window.set_geometry_hints(min_width = 400); + self.window.connect("delete_event", self.delete_event) + self.window.connect("destroy", self.destroy_event) + self.entry = gtk.Entry() + self.entry.connect("activate", self.activate_event) + self.entry.connect("key-press-event", self.keypress_event) + button = gtk.Button(stock = gtk.STOCK_OK) + button.connect("clicked", self.activate_event) + + hbox = gtk.HBox() + hbox.pack_start(self.entry) + hbox.pack_start(button, expand = False) + hbox.show_all() + + self.window.add(hbox) + self.cmd = '' + + def run(self): + self.window.show() + gtk.main() + return self.cmd + + def delete_event(self, widget, event, data=None): + return False + + def destroy_event(self, widget, data=None): + gtk.main_quit() + + def activate_event(self, widget, data=None): + self.cmd = self.entry.get_text() + self.window.destroy() + + def keypress_event(self, widget, event, data=None): + if event.keyval == gtk.gdk.keyval_from_name("Escape"): + self.cmd = '' + self.window.destroy() + return True + return False + +def main(argv): + w = Window() + cmd = w.run() + print 'cmd:', cmd + +if __name__ == "__main__": + main(sys.argv)