close terminal window on exit
diff --git a/clients/terminal.c b/clients/terminal.c
index 1e015c1..78f575f 100644
--- a/clients/terminal.c
+++ b/clients/terminal.c
@@ -2268,6 +2268,9 @@
gsize bytes_read;
GError *error = NULL;
+ if(condition == G_IO_HUP)
+ exit(0);
+
g_io_channel_read_chars(source, buffer, sizeof buffer,
&bytes_read, &error);
@@ -2298,8 +2301,8 @@
terminal->master = master;
terminal->channel = g_io_channel_unix_new(master);
fcntl(master, F_SETFL, O_NONBLOCK);
- g_io_add_watch(terminal->channel, G_IO_IN,
- io_handler, terminal);
+ g_io_add_watch(terminal->channel, G_IO_IN, io_handler, terminal);
+ g_io_add_watch(terminal->channel, G_IO_HUP, io_handler, terminal);
return 0;
}