summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCurtis McEnroe2018-08-04 21:23:28 -0400
committerCurtis McEnroe2018-08-04 21:23:28 -0400
commit6df61b5dda6a07bb1187404e9bdf2579a8cad2ae (patch)
tree14e3afd9098c386ac7867c7c6cd152c5d3c4913a
parent8fdf2c402d23b52868b9208c9d450281c3772c11 (diff)
Show source link on exit
-rw-r--r--chat.c12
-rw-r--r--chat.h2
-rw-r--r--ui.c4
3 files changed, 17 insertions, 1 deletions
diff --git a/chat.c b/chat.c
index cbd9790..30fe272 100644
--- a/chat.c
+++ b/chat.c
@@ -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();
diff --git a/chat.h b/chat.h
index e63e0cf..2c9239c 100644
--- a/chat.h
+++ b/chat.h
@@ -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>
diff --git a/ui.c b/ui.c
index 0e24510..8938c20 100644
--- a/ui.c
+++ b/ui.c
@@ -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) {