summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxime Coste <frrrwww@gmail.com>2012-11-08 14:04:41 +0100
committerMaxime Coste <frrrwww@gmail.com>2012-11-08 14:04:41 +0100
commit68cc07022c27010e02acd69ffd832c97b8b9b9a4 (patch)
tree0acbf60a03cdc7c20a40c4d4fa18ad9eb5b6f6f1 /src
parent0e5f548f76fe0df77227d55fede6431f39b61272 (diff)
NCurses: catch SIGINT and send a C-c instead
Diffstat (limited to 'src')
-rw-r--r--src/ncurses.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ncurses.cc b/src/ncurses.cc
index 1e601a3b..5c5509fb 100644
--- a/src/ncurses.cc
+++ b/src/ncurses.cc
@@ -89,6 +89,12 @@ void on_term_resize(int)
EventManager::instance().force_signal(0);
}
+void on_sigint(int)
+{
+ ungetch(CTRL('c'));
+ EventManager::instance().force_signal(0);
+}
+
NCursesUI::NCursesUI()
{
//setlocale(LC_CTYPE, "");
@@ -111,6 +117,7 @@ NCursesUI::NCursesUI()
assert(signal_ui == nullptr);
signal_ui = this;
signal(SIGWINCH, on_term_resize);
+ signal(SIGINT, on_sigint);
}
NCursesUI::~NCursesUI()