#!/usr/bin/env python import gtk import sys import os class EntryDialog(gtk.Dialog): def __init__(self, parent, title, text, password=False): gtk.Dialog.__init__(self, title, parent, gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT, (gtk.STOCK_OK, gtk.RESPONSE_ACCEPT, gtk.STOCK_CANCEL, gtk.RESPONSE_REJECT)) label = gtk.Label(text) label.set_alignment(0.0, 0.5) self.set_default_response(gtk.RESPONSE_ACCEPT) self.vbox.pack_start(label, False) self._label = label entry = gtk.Entry() entry.set_visibility(not password) entry.set_activates_default(True) self.vbox.pack_start(entry, False, True, 5) self._entry = entry self.show_all() def get_text(self): return self._entry.get_text() class GUI: def __init__(self,prompt): dlg = EntryDialog(None, "Authentication",prompt,True) if dlg.run() == gtk.RESPONSE_ACCEPT: sys.stdout.write(dlg.get_text()) dlg.destroy() sys.exit(0) else: dlg.destroy() sys.exit(1) if __name__ == '__main__': GUI(' '.join(sys.argv[1:]))