about summary refs log tree commit diff stats
path: root/src/ui/core.c
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-01-31 18:02:42 +0000
committerJames Booth <boothj5@gmail.com>2015-01-31 18:02:42 +0000
commite6f27de55221f0f41362b81ca927d5d55682d14f (patch)
tree11b5ea0545790e62d61126f056e00932a96f53e3 /src/ui/core.c
parentfe10f2b2e38818cdc77b226ee498d0956d3bba40 (diff)
downloadprofani-tty-e6f27de55221f0f41362b81ca927d5d55682d14f.tar.gz
Added SIGWINCH handler
Diffstat (limited to 'src/ui/core.c')
-rw-r--r--src/ui/core.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/ui/core.c b/src/ui/core.c
index ed21b233..254dd554 100644
--- a/src/ui/core.c
+++ b/src/ui/core.c
@@ -41,6 +41,9 @@
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
+#include <sys/ioctl.h>
+#include <unistd.h>
+
 #ifdef HAVE_LIBXSS
 #include <X11/extensions/scrnsaver.h>
 #endif
@@ -91,7 +94,6 @@ ui_init(void)
 {
     log_info("Initialising UI");
     initscr();
-    raw();
     keypad(stdscr, TRUE);
     if (prefs_get_boolean(PREF_MOUSE)) {
         mousemask(ALL_MOUSE_EVENTS, NULL);
@@ -221,9 +223,13 @@ ui_input_nonblocking(gboolean reset)
 void
 ui_resize(void)
 {
-    log_info("Resizing UI");
+    struct winsize w;
+    ioctl(STDOUT_FILENO, TIOCGWINSZ, &w);
     erase();
+    resizeterm(w.ws_row, w.ws_col);
     refresh();
+
+    log_info("Resizing UI");
     title_bar_resize();
     wins_resize_all();
     status_bar_resize();