summaryrefslogtreecommitdiff
path: root/src/gui.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-03-30 20:31:22 +0100
committerBram Moolenaar <Bram@vim.org>2019-03-30 20:31:22 +0100
commit372674fca3250069d8f4943b572474ce077849fd (patch)
treed24c860c297e3180a79c6f18d1579939f3a92841 /src/gui.c
parentf0908e6fe18943ad4453d7d6772fa43049aff4bc (diff)
downloadvim-git-372674fca3250069d8f4943b572474ce077849fd.tar.gz
patch 8.1.1092: setting 'guifont' when maximized resizes the Vim windowv8.1.1092
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)
Diffstat (limited to 'src/gui.c')
-rw-r--r--src/gui.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/gui.c b/src/gui.c
index 15974e54e..70170666d 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -681,8 +681,13 @@ gui_init(void)
#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 @@ gui_init(void)
# 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 @@ gui_init_font(char_u *font_list, int fontset UNUSED)
# 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;