/* * Handle SIGWINCH. Order of calling various resize * functions is really important. */ static void resize(void) { get_rows_cols(&screen_rows, &screen_cols); resizeterm(screen_rows, screen_cols); wresize(main_win, screen_rows-3, screen_cols); win_init(); mvwin(help_win.wd, screen_rows - 1, 0); // wnoutrefresh(help_win.wd); // wnoutrefresh(info_win.wd); /* set the cursor position if necessary */ if(current->cursor > current->rows) current->cursor = current->rows; werase(main_win); current->redraw(); wnoutrefresh(main_win); print_help(); pad_resize(); print_info(); update_load(); menu_resize(); box_resize(); info_resize(); doupdate(); size_changed = 0; }
void cmdline_resize() { pos_T max = layout_size(); delwin(ex.nc_win); ex.nc_win = newwin(1, 0, max.lnum - 1, 0); menu_resize(ex.menu); }