diff --git a/papersurfer/papersurfer.py b/papersurfer/papersurfer.py index 4db8226bf77d3983c9aafb2891a8ebce9cc6ec41..8c4c7c9709a66700da3761e1dcace17ffa4af32b 100644 --- a/papersurfer/papersurfer.py +++ b/papersurfer/papersurfer.py @@ -275,10 +275,15 @@ class Papersurfer: urwid.connect_signal(ask, 'change', self.onchange) self.main = pile - self.mainloop = urwid.MainLoop(self._over, self._palette) + self.mainloop = urwid.MainLoop(self._over, self._palette, + unhandled_input=self.h_input ) self.mainloop.set_alarm_in(.1, self.load_list) self.mainloop.run() + def h_input(self, key): + if key == "esc": + raise urwid.ExitMainLoop() + def load_list(self, _loop, _data): body = [self.list_item(paper) for paper in self.mtm.retrieve()] self.listcontent.clear()