mirror of
https://github.com/vim/vim.git
synced 2025-10-18 07:54:29 -04:00
patch 8.0.1125: wrong window height when splitting window with window toolbar
Problem: Wrong window height when splitting window with window toolbar. Solution: Add or subtract the window toolbar height.
This commit is contained in:
@@ -761,6 +761,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
1125,
|
||||||
/**/
|
/**/
|
||||||
1124,
|
1124,
|
||||||
/**/
|
/**/
|
||||||
|
30
src/window.c
30
src/window.c
@@ -1098,14 +1098,22 @@ win_split_ins(
|
|||||||
{
|
{
|
||||||
/* set height and row of new window to full height */
|
/* set height and row of new window to full height */
|
||||||
wp->w_winrow = tabline_height();
|
wp->w_winrow = tabline_height();
|
||||||
win_new_height(wp, curfrp->fr_height - (p_ls > 0));
|
win_new_height(wp, curfrp->fr_height - (p_ls > 0)
|
||||||
|
#ifdef FEAT_MENU
|
||||||
|
- wp->w_winbar_height
|
||||||
|
#endif
|
||||||
|
);
|
||||||
wp->w_status_height = (p_ls > 0);
|
wp->w_status_height = (p_ls > 0);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
/* height and row of new window is same as current window */
|
/* height and row of new window is same as current window */
|
||||||
wp->w_winrow = oldwin->w_winrow;
|
wp->w_winrow = oldwin->w_winrow;
|
||||||
win_new_height(wp, oldwin->w_height);
|
win_new_height(wp, oldwin->w_height
|
||||||
|
#ifdef FEAT_MENU
|
||||||
|
+ oldwin->w_winbar_height
|
||||||
|
#endif
|
||||||
|
);
|
||||||
wp->w_status_height = oldwin->w_status_height;
|
wp->w_status_height = oldwin->w_status_height;
|
||||||
}
|
}
|
||||||
frp->fr_height = curfrp->fr_height;
|
frp->fr_height = curfrp->fr_height;
|
||||||
@@ -1163,7 +1171,11 @@ win_split_ins(
|
|||||||
win_new_height(wp, new_size);
|
win_new_height(wp, new_size);
|
||||||
if (flags & (WSP_TOP | WSP_BOT))
|
if (flags & (WSP_TOP | WSP_BOT))
|
||||||
{
|
{
|
||||||
int new_fr_height = curfrp->fr_height - new_size;
|
int new_fr_height = curfrp->fr_height - new_size
|
||||||
|
#ifdef FEAT_MENU
|
||||||
|
+ wp->w_winbar_height
|
||||||
|
#endif
|
||||||
|
;
|
||||||
|
|
||||||
if (!((flags & WSP_BOT) && p_ls == 0))
|
if (!((flags & WSP_BOT) && p_ls == 0))
|
||||||
new_fr_height -= STATUS_HEIGHT;
|
new_fr_height -= STATUS_HEIGHT;
|
||||||
@@ -2855,7 +2867,11 @@ frame_new_height(
|
|||||||
{
|
{
|
||||||
/* Simple case: just one window. */
|
/* Simple case: just one window. */
|
||||||
win_new_height(topfrp->fr_win,
|
win_new_height(topfrp->fr_win,
|
||||||
height - topfrp->fr_win->w_status_height);
|
height - topfrp->fr_win->w_status_height
|
||||||
|
#ifdef FEAT_MENU
|
||||||
|
- topfrp->fr_win->w_winbar_height
|
||||||
|
#endif
|
||||||
|
);
|
||||||
}
|
}
|
||||||
else if (topfrp->fr_layout == FR_ROW)
|
else if (topfrp->fr_layout == FR_ROW)
|
||||||
{
|
{
|
||||||
@@ -3201,7 +3217,11 @@ frame_fix_width(win_T *wp)
|
|||||||
static void
|
static void
|
||||||
frame_fix_height(win_T *wp)
|
frame_fix_height(win_T *wp)
|
||||||
{
|
{
|
||||||
wp->w_frame->fr_height = wp->w_height + wp->w_status_height;
|
wp->w_frame->fr_height = wp->w_height + wp->w_status_height
|
||||||
|
#ifdef FEAT_MENU
|
||||||
|
+ wp->w_winbar_height
|
||||||
|
#endif
|
||||||
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
Reference in New Issue
Block a user