mcabber/src/screen.c
changeset 1454 6b98dc22946d
parent 1424 bb1cc8902d0e
child 1455 bec235cd28a8
--- a/mcabber/src/screen.c	Wed Apr 02 22:31:23 2008 +0200
+++ b/mcabber/src/screen.c	Thu Apr 03 21:20:56 2008 +0200
@@ -29,6 +29,11 @@
 #include <config.h>
 #include <locale.h>
 #include <assert.h>
+#ifdef USE_SIGWINCH
+# include <sys/ioctl.h>
+# include <termios.h>
+# include <unistd.h>
+#endif
 
 #ifdef HAVE_LOCALCHARSET_H
 # include <localcharset.h>
@@ -3771,7 +3776,17 @@
         scr_handle_CtrlC();
         break;
     case KEY_RESIZE:
+#ifdef USE_SIGWINCH
+        {
+            struct winsize size;
+            if (ioctl(STDIN_FILENO, TIOCGWINSZ, &size) != -1)
+              resizeterm(size.ws_row, size.ws_col);
+        }
         scr_Resize();
+        process_command(mkcmdstr("screen_refresh"), TRUE);
+#else
+        scr_Resize();
+#endif
         break;
     default:
         display_char = TRUE;