about summary refs log tree commit diff
path: root/ui.c
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2018-12-01 22:05:37 -0500
committerJune McEnroe <june@causal.agency>2018-12-01 22:05:37 -0500
commit5c17393d2b0830838e8e47f105ef734d3b235275 (patch)
tree2ef2649e36cdd13b454793f04c39ea70857f4b9d /ui.c
parentFix sandman hang (diff)
downloadcatgirl-5c17393d2b0830838e8e47f105ef734d3b235275.tar.gz
catgirl-5c17393d2b0830838e8e47f105ef734d3b235275.zip
Crudely handle reconnecting after suspend
Diffstat (limited to 'ui.c')
-rw-r--r--ui.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/ui.c b/ui.c
index fecd637..0b25d97 100644
--- a/ui.c
+++ b/ui.c
@@ -22,6 +22,7 @@
 #include <stdarg.h>
 #include <stdbool.h>
 #include <stdlib.h>
+#include <stdnoreturn.h>
 #include <string.h>
 #include <sysexits.h>
 #include <wchar.h>
@@ -81,9 +82,10 @@ static struct {
 	struct View *view;
 } ui;
 
-static void uiShow(void) {
+void uiShow(void) {
 	ui.hide = false;
 	termMode(TermFocus, true);
+	uiDraw();
 }
 
 void uiHide(void) {
@@ -109,12 +111,13 @@ void uiInit(void) {
 	uiViewTag(TagStatus);
 }
 
-void uiExit(void) {
+noreturn void uiExit(void) {
 	uiHide();
 	printf(
 		"This program is AGPLv3 Free Software!\n"
 		"The source is available at <" SOURCE_URL ">.\n"
 	);
+	exit(EX_OK);
 }
 
 static int lastLine(void) {
@@ -557,7 +560,6 @@ void uiPrompt(void) {
 }
 
 void uiRead(void) {
-	uiShow();
 	int ret;
 	wint_t ch;
 	while (ERR != (ret = wget_wch(ui.input, &ch))) {