diff mcabber/mcabber/screen.c @ 2231:387cea2a1a81

Fix resizing with --enable-sigwinch
author Mikael Berthe <mikael@lilotux.net>
date Sun, 15 Nov 2015 17:03:41 +0100
parents c1eb68306520
children 44bb9a033407
line wrap: on
line diff
--- a/mcabber/mcabber/screen.c	Wed Nov 11 10:06:46 2015 +0100
+++ b/mcabber/mcabber/screen.c	Sun Nov 15 17:03:41 2015 +0100
@@ -1864,11 +1864,11 @@
     hbuf_rebuild(&wbp->bd->hbuf, new_chatwidth);
 }
 
-//  scr_Resize()
+//  scr_resize()
 // Function called when the window is resized.
 // - Resize windows
 // - Rewrap lines in each buddy buffer
-void scr_Resize(void)
+void scr_resize(void)
 {
   struct dimensions dim;
 
@@ -1903,6 +1903,16 @@
     scr_show_buddy_window();
 }
 
+#ifdef USE_SIGWINCH
+void sigwinch_resize(void)
+{
+  struct winsize size;
+  if (ioctl(STDIN_FILENO, TIOCGWINSZ, &size) != -1)
+    resizeterm(size.ws_row, size.ws_col);
+  scr_resize();
+}
+#endif
+
 //  scr_update_chat_status(forceupdate)
 // Redraw the buddy status bar.
 // Set forceupdate to TRUE if update_panels() must be called.
@@ -2307,7 +2317,7 @@
 
   if (roster_hidden != old_roster_status) {
     // Recalculate windows size and redraw
-    scr_Resize();
+    scr_resize();
     redrawwin(stdscr);
   }
 }
@@ -3775,7 +3785,7 @@
   scr_check_auto_away(TRUE);
   keypad(inputWnd, TRUE);
   parse_colors();
-  scr_Resize();
+  scr_resize();
   redrawwin(stdscr);
 }
 
@@ -4450,14 +4460,7 @@
         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);
-        }
-#endif
-        scr_Resize();
+        scr_resize();
         break;
     default:
         display_char = TRUE;