vim-patch:8.0.1278: Add the "k" flag in 'guioptions' #10175

Problem:    GUI window always resizes when adding/removing a scrollbar,
            toolbar, etc.
Solution:   Add the 'k' flag in 'guioptions' to keep the GUI window size and
            change the number of lines/columns instead. (Ychin, closes vim/vim#703)
8ac441576f
This commit is contained in:
Jan Edmund Lazo 2019-06-10 06:18:59 -04:00 committed by Justin M. Keyes
parent 7612dd3f8a
commit 3e58e60568
2 changed files with 30 additions and 23 deletions

View File

@ -2948,7 +2948,13 @@ A jump table for the options with a short description can be found at |Q_op|.
the right moment, try adding this flag. This must be done
before starting the GUI. Set it in your |gvimrc|. Adding or
removing it after the GUI has started has no effect.
*'go-k'*
'k' Keep the GUI window size when adding/removing a scrollbar, or
toolbar, tabline, etc. Instead, the behavior is similar to
when the window is maximized and will adjust 'lines' and
'columns' to fit to the window. Without the 'k' flag Vim will
try to keep 'lines' and 'columns the same when adding and
removing GUI components.
*'guitablabel'* *'gtl'*
'guitablabel' 'gtl' string (default empty)

View File

@ -181,28 +181,29 @@ enum {
0, \
})
/* characters for p_go: */
#define GO_ASEL 'a' /* autoselect */
#define GO_ASELML 'A' /* autoselect modeless selection */
#define GO_BOT 'b' /* use bottom scrollbar */
#define GO_CONDIALOG 'c' /* use console dialog */
#define GO_TABLINE 'e' /* may show tabline */
#define GO_FORG 'f' /* start GUI in foreground */
#define GO_GREY 'g' /* use grey menu items */
#define GO_HORSCROLL 'h' /* flexible horizontal scrolling */
#define GO_ICON 'i' /* use Vim icon */
#define GO_LEFT 'l' /* use left scrollbar */
#define GO_VLEFT 'L' /* left scrollbar with vert split */
#define GO_MENUS 'm' /* use menu bar */
#define GO_NOSYSMENU 'M' /* don't source system menu */
#define GO_POINTER 'p' /* pointer enter/leave callbacks */
#define GO_ASELPLUS 'P' /* autoselectPlus */
#define GO_RIGHT 'r' /* use right scrollbar */
#define GO_VRIGHT 'R' /* right scrollbar with vert split */
#define GO_TOOLBAR 'T' /* add toolbar */
#define GO_FOOTER 'F' /* add footer */
#define GO_VERTICAL 'v' /* arrange dialog buttons vertically */
#define GO_ALL "aAbcefFghilmMprTv" /* all possible flags for 'go' */
// characters for p_go:
#define GO_ASEL 'a' // autoselect
#define GO_ASELML 'A' // autoselect modeless selection
#define GO_BOT 'b' // use bottom scrollbar
#define GO_CONDIALOG 'c' // use console dialog
#define GO_TABLINE 'e' // may show tabline
#define GO_FORG 'f' // start GUI in foreground
#define GO_GREY 'g' // use grey menu items
#define GO_HORSCROLL 'h' // flexible horizontal scrolling
#define GO_ICON 'i' // use Vim icon
#define GO_LEFT 'l' // use left scrollbar
#define GO_VLEFT 'L' // left scrollbar with vert split
#define GO_MENUS 'm' // use menu bar
#define GO_NOSYSMENU 'M' // don't source system menu
#define GO_POINTER 'p' // pointer enter/leave callbacks
#define GO_ASELPLUS 'P' // autoselectPlus
#define GO_RIGHT 'r' // use right scrollbar
#define GO_VRIGHT 'R' // right scrollbar with vert split
#define GO_TOOLBAR 'T' // add toolbar
#define GO_FOOTER 'F' // add footer
#define GO_VERTICAL 'v' // arrange dialog buttons vertically
#define GO_KEEPWINSIZE 'k' // keep GUI window size
#define GO_ALL "aAbcefFghilmMprTvk" // all possible flags for 'go'
/* flags for 'comments' option */
#define COM_NEST 'n' /* comments strings nest */