diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 81dcddc6003aaf62fc93f32817c1fae22771be46..607b90a0a7d85feee17af1a0027dcc18ea57500b 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -2209,4 +2209,19 @@ apparently doesn't work everywhere. Use %H:%M:%S instead. Typing BS at the "z=" prompt removed the prompt. +--- fixes since Vim 6.0c --- + +When jumping to another tab page the Vim window size was always set, even when +nothing in the layout changed. + +Win32 GUI tab pages line wasn't always enabled. Do a proper check for the +compiler version. + +Win32: When switching between tab pages the Vim window was moved when part of +it was outside of the screen. Now only do that in the direction of a size +change. + +Win32: added menu to GUI tab pages line. (Yegappan Lakshmanan) + + vim:tw=78:ts=8:ft=help:norl: diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c index 35e18c97794ba0c8e2cca0aeba3cfccff91e94c7..8d261b75985f83bd3dbb115af0b7653ee2c59a52 100644 --- a/src/gui_gtk_x11.c +++ b/src/gui_gtk_x11.c @@ -2728,7 +2728,7 @@ mainwin_screen_changed_cb(GtkWidget *widget, if (gui.norm_font != NULL) { gui_mch_init_font(p_guifont, FALSE); - gui_set_shellsize(FALSE, FALSE); + gui_set_shellsize(FALSE, FALSE, RESIZE_BOTH); } } #endif /* HAVE_GTK_MULTIHEAD */ @@ -4247,7 +4247,8 @@ force_shell_resize_idle(gpointer data) void gui_mch_set_shellsize(int width, int height, int min_width, int min_height, - int base_width, int base_height) + int base_width, int base_height, + int direction) { #ifndef HAVE_GTK2 /* Hack: When the form already is at the desired size, the window might diff --git a/src/gui_x11.c b/src/gui_x11.c index 3176b9d8454608d090bb05c6de9a6f0eb6145c18..706291bbd24c65e80677d0bf9cf4d6e3cba1a6d7 100644 --- a/src/gui_x11.c +++ b/src/gui_x11.c @@ -1788,15 +1788,17 @@ gui_mch_set_winpos(x, y) NULL); } +/*ARGSUSED*/ void gui_mch_set_shellsize(width, height, min_width, min_height, - base_width, base_height) + base_width, base_height, direction) int width; int height; int min_width; int min_height; int base_width; int base_height; + int direction; { #ifdef FEAT_XIM height += xim_get_status_area_height(), diff --git a/src/menu.c b/src/menu.c index 8748740a5413cbc22b1694a1256e2ed59cb947fb..b9c79229bb30ff5ca8d02c8c56ec7e1e4259025e 100644 --- a/src/menu.c +++ b/src/menu.c @@ -442,7 +442,7 @@ ex_menu(eap) || gui.toolbar_height != old_toolbar_height # endif )) - gui_set_shellsize(FALSE, FALSE); + gui_set_shellsize(FALSE, FALSE, RESIZE_VERT); #endif theend: diff --git a/src/proto/gui_x11.pro b/src/proto/gui_x11.pro index 66f192a411e5802c1c787b11f5b6d27ed204a6e5..f8abb070f1eb1e80fb64480d5b857a1ec63f4a8e 100644 --- a/src/proto/gui_x11.pro +++ b/src/proto/gui_x11.pro @@ -11,7 +11,7 @@ extern void gui_init_menu_font __ARGS((void)); extern void gui_mch_exit __ARGS((int rc)); extern int gui_mch_get_winpos __ARGS((int *x, int *y)); extern void gui_mch_set_winpos __ARGS((int x, int y)); -extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height)); +extern void gui_mch_set_shellsize __ARGS((int width, int height, int min_width, int min_height, int base_width, int base_height, int direction)); extern void gui_mch_get_screen_dimensions __ARGS((int *screen_w, int *screen_h)); extern int gui_mch_init_font __ARGS((char_u *font_name, int do_fontset)); extern GuiFont gui_mch_get_font __ARGS((char_u *name, int giveErrorIfMissing)); diff --git a/src/ui.c b/src/ui.c index fb93b905defef1f0fda54cd98ed109db57d6d9df..352dce16edda94ec75885b19027e97c35aaed805 100644 --- a/src/ui.c +++ b/src/ui.c @@ -328,7 +328,7 @@ ui_set_shellsize(mustset) # else FALSE # endif - ); + , RESIZE_BOTH); else #endif mch_set_shellsize();