]> granicus.if.org Git - vim/commitdiff
patch 8.1.1092: setting 'guifont' when maximized resizes the Vim window v8.1.1092
authorBram Moolenaar <Bram@vim.org>
Sat, 30 Mar 2019 19:31:22 +0000 (20:31 +0100)
committerBram Moolenaar <Bram@vim.org>
Sat, 30 Mar 2019 19:31:22 +0000 (20:31 +0100)
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)

src/gui.c
src/version.c

index 15974e54ea6dc9f5105089276c0716a3e55b2b8e..70170666db0f860404de7fb996b7dc17dbcd3d27 100644 (file)
--- 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;
index c9987d2c4027429ccede3c56c755fa112ada4183..891fece308e854e21630309eaab87f663f2f4b8c 100644 (file)
@@ -775,6 +775,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1092,
 /**/
     1091,
 /**/