patch 8.1.1092: setting 'guifont' when maximized resizes the Vim window
Problem: Setting 'guifont' when maximized resizes the Vim window. When
'guioptions' contains "k" gvim may open with a tiny window.
Solution: Avoid un-maximizing when setting 'guifont'. (Yee Cheng Chin,
closes #3808)
diff --git a/src/gui.c b/src/gui.c
index 15974e5..7017066 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -681,8 +681,13 @@
#ifndef FEAT_GUI_GTK
// Set the shell size, adjusted for the screen size. For GTK this only
// works after the shell has been opened, thus it is further down.
- // For MS-Windows pass FALSE for "mustset" to make --windowid work.
- gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
+ // If the window is already maximized (e.g. when --windowid is passed in),
+ // we want to use the system-provided dimensions by passing FALSE to
+ // mustset. Otherwise, we want to initialize with the default rows/columns.
+ if (gui_mch_maximized())
+ gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
+ else
+ gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
#endif
#if defined(FEAT_GUI_MOTIF) && defined(FEAT_MENU)
/* Need to set the size of the menubar after all the menus have been
@@ -721,7 +726,10 @@
# endif
/* Now make sure the shell fits on the screen. */
- gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
+ if (gui_mch_maximized())
+ gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
+ else
+ gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
#endif
/* When 'lines' was set while starting up the topframe may have to be
* resized. */
@@ -906,7 +914,7 @@
# endif
gui_mch_set_font(gui.norm_font);
#endif
- gui_set_shellsize(TRUE, TRUE, RESIZE_BOTH);
+ gui_set_shellsize(FALSE, TRUE, RESIZE_BOTH);
}
return ret;
diff --git a/src/version.c b/src/version.c
index c9987d2..891fece 100644
--- a/src/version.c
+++ b/src/version.c
@@ -776,6 +776,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1092,
+/**/
1091,
/**/
1090,