Mercurial > ~mikael > mcabber > hg
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;