aboutsummaryrefslogtreecommitdiff
path: root/ui-curses.c
diff options
context:
space:
mode:
authorMarc André Tanner <mat@brain-dump.org>2015-07-09 15:10:15 +0200
committerMarc André Tanner <mat@brain-dump.org>2015-07-09 16:41:45 +0200
commitb88e0eff7e8ac64dd0aeb7ec93e9803689d068fe (patch)
treef4bba949230f6ff6b378e29d4fd9c5404b2faab1 /ui-curses.c
parent9e7cb40b1f527c1bf431d4ca6c9b9ca4e70b5459 (diff)
downloadvis-b88e0eff7e8ac64dd0aeb7ec93e9803689d068fe.tar.gz
vis-b88e0eff7e8ac64dd0aeb7ec93e9803689d068fe.tar.xz
ui: move terminal state handling code to ui specific file
Diffstat (limited to 'ui-curses.c')
-rw-r--r--ui-curses.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/ui-curses.c b/ui-curses.c
index f2f6899..f333c1d 100644
--- a/ui-curses.c
+++ b/ui-curses.c
@@ -568,6 +568,15 @@ static Key ui_getkey(Ui *ui) {
return key;
}
+static void ui_terminal_save(Ui *ui) {
+ reset_shell_mode();
+}
+
+static void ui_terminal_restore(Ui *ui) {
+ reset_prog_mode();
+ wclear(stdscr);
+}
+
Ui *ui_curses_new(void) {
setlocale(LC_CTYPE, "");
if (!getenv("ESCDELAY"))
@@ -613,6 +622,8 @@ Ui *ui_curses_new(void) {
.color_get = color_get,
.haskey = ui_haskey,
.getkey = ui_getkey,
+ .terminal_save = ui_terminal_save,
+ .terminal_restore = ui_terminal_restore,
};
struct sigaction sa;