diff options
| -rw-r--r-- | chat.c | 12 | ||||
| -rw-r--r-- | chat.h | 2 | ||||
| -rw-r--r-- | ui.c | 4 | 
3 files changed, 17 insertions, 1 deletions
@@ -19,6 +19,7 @@  #include <err.h>  #include <errno.h>  #include <poll.h> +#include <signal.h>  #include <stdio.h>  #include <stdlib.h>  #include <string.h> @@ -27,7 +28,14 @@  #include "chat.h" -char *prompt(const char *prompt) { +static void sigint(int sig) { +	(void)sig; +	input(L"/quit"); +	uiHide(); +	exit(EX_OK); +} + +static char *prompt(const char *prompt) {  	char *line = NULL;  	size_t cap;  	for (;;) { @@ -67,6 +75,8 @@ int main(int argc, char *argv[]) {  	if (!chat.nick) chat.nick = prompt("Name: ");  	chat.user = strdup(chat.nick); +	signal(SIGINT, sigint); +  	uiInit();  	uiLog("Traveling...");  	uiDraw(); @@ -14,6 +14,8 @@   * along with this program.  If not, see <http://www.gnu.org/licenses/>.   */ +#define SOURCE_URL "https://code.causal.agency/june/chat" +  #include <stdbool.h>  #include <stdlib.h>  #include <wchar.h> @@ -100,6 +100,10 @@ static void uiResize(void) {  void uiHide(void) {  	endwin(); +	printf( +		"This program is AGPLv3 free software!\n" +		"The source is available at <" SOURCE_URL ">\n" +	);  }  void uiDraw(void) {  | 
