From 17b35d20bbd3ce5fb5f1b9783332df3c4f929c35 Mon Sep 17 00:00:00 2001
From: Johann Jacobsohn <j.jacobsohn@satzmedia.de>
Date: Mon, 10 Aug 2020 04:09:57 +0200
Subject: [PATCH] escape program on esc

---
 papersurfer/papersurfer.py | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/papersurfer/papersurfer.py b/papersurfer/papersurfer.py
index 4db8226..8c4c7c9 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()
-- 
GitLab