Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
patch 8.0.1821: cursor in terminal window moves when pressing CTRL-W
Problem:    Cursor in terminal window moves when pressing CTRL-W. (Dominique
            Pelle)
Solution:   Do not more the cursor or redraw when not in Terminal-Normal mode.
            (closes #2904)
  • Loading branch information
brammool committed May 12, 2018
1 parent cd8fb44 commit 2bc7995
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 14 deletions.
29 changes: 15 additions & 14 deletions src/terminal.c
Expand Up @@ -1606,23 +1606,24 @@ move_terminal_to_buffer(term_T *term)
vterm_state_get_default_colors(vterm_obtain_state(term->tl_vterm),
&term->tl_default_color.fg, &term->tl_default_color.bg);

FOR_ALL_WINDOWS(wp)
{
if (wp->w_buffer == term->tl_buffer)
if (term->tl_normal_mode)
FOR_ALL_WINDOWS(wp)
{
wp->w_cursor.lnum = term->tl_buffer->b_ml.ml_line_count;
wp->w_cursor.col = 0;
wp->w_valid = 0;
if (wp->w_cursor.lnum >= wp->w_height)
if (wp->w_buffer == term->tl_buffer)
{
linenr_T min_topline = wp->w_cursor.lnum - wp->w_height + 1;
wp->w_cursor.lnum = term->tl_buffer->b_ml.ml_line_count;
wp->w_cursor.col = 0;
wp->w_valid = 0;
if (wp->w_cursor.lnum >= wp->w_height)
{
linenr_T min_topline = wp->w_cursor.lnum - wp->w_height + 1;

if (wp->w_topline < min_topline)
wp->w_topline = min_topline;
if (wp->w_topline < min_topline)
wp->w_topline = min_topline;
}
redraw_win_later(wp, NOT_VALID);
}
redraw_win_later(wp, NOT_VALID);
}
}
}

#if defined(FEAT_TIMERS) || defined(PROTO)
Expand Down Expand Up @@ -1688,11 +1689,11 @@ term_enter_normal_mode(void)
{
term_T *term = curbuf->b_term;

set_terminal_mode(term, TRUE);

/* Append the current terminal contents to the buffer. */
move_terminal_to_buffer(term);

set_terminal_mode(term, TRUE);

/* Move the window cursor to the position of the cursor in the
* terminal. */
curwin->w_cursor.lnum = term->tl_scrollback_scrolled
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -761,6 +761,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
1821,
/**/
1820,
/**/
Expand Down

0 comments on commit 2bc7995

Please sign in to comment.