@@ -0,0 +1,978 @@
+#!/usr/bin/env python%0Aimport npyscreen%0Aimport curses%0A%0Aclass EditorFormExample(npyscreen.FormMutt):%0A    MAIN_WIDGET_CLASS = npyscreen.BufferPager%0A%0A    def __init__(self, *args, **keywords):%0A%09super(npyscreen.FormMutt, self).__init__(*args, **keywords)%0A%09self.wCommand.add_handlers(%7B%0A%09%09%09curses.ascii.NL : self.do_line,%0A%09%09%09curses.ascii.CR : self.do_line,%0A%09%09%7D)%0A%0A    def do_line(self,name):%0A%09self.parentApp.process_line()%0A%09self.display()%0A%0A# needs handler ....%0A# on enter ...%0A%0Aclass TestApp(npyscreen.NPSApp):%0A    def process_line(self):%0A%09self.F.wMain.buffer((self.F.wCommand.value,))%0A%09self.F.wCommand.value = %22%22%0A%09self.F.display()%0A%0A    def main(self):%0A        self.F = EditorFormExample(parentApp=self)%0A        self.F.wStatus1.value = %22Status Line %22%0A        self.F.wStatus2.value = %22Enter text to send ....%22%0A%09self.F.wMain.buffer((%22boo%5Cn%22, %22book%5Cn%22))%0A%09self.F.wMain.buffer((%22boo%5Cn%22, %22book%5Cn%22))%0A        %0A        self.F.edit()%0A%0A%0Aif __name__ == %22__main__%22:%0A    App = TestApp()%0A    App.run()%0A

Add framework for example client