* that buffer, attributes come from the scrollback buffer tl_scrollback.
*
* TODO:
+ * - Use "." for current line instead of optional.
+ * - make row and cols one-based instead of zero-based in term_ functions.
+ * - Add StatusLineTerm highlighting
* - in bash mouse clicks are inserting characters.
* - mouse scroll: when over other window, scroll that window.
* - For the scrollback buffer store lines in the buffer, only attributes in
static void
update_cursor(term_T *term, int redraw)
{
+ if (term->tl_terminal_mode)
+ return;
setcursor();
if (redraw && term->tl_buffer == curbuf)
{
ch_logn(channel, "writing %d bytes to terminal", (int)len);
term_write_job_output(term, msg, len);
- /* TODO: only update once in a while. */
- update_screen(0);
- update_cursor(term, TRUE);
+ if (!term->tl_terminal_mode)
+ {
+ /* TODO: only update once in a while. */
+ update_screen(0);
+ update_cursor(term, TRUE);
+ }
}
/*
if (wp->w_buffer == term->tl_buffer)
position_cursor(wp, &pos);
}
- if (term->tl_buffer == curbuf)
+ if (term->tl_buffer == curbuf && !term->tl_terminal_mode)
{
may_toggle_cursor(term);
update_cursor(term, term->tl_cursor_visible);
msg += MB_PTR2LEN(msg);
}
- /* TODO: only update once in a while. */
- update_screen(0);
- if (buf == curbuf)
- update_cursor(term, TRUE);
+ if (!term->tl_terminal_mode)
+ {
+ /* TODO: only update once in a while. */
+ update_screen(0);
+ if (buf == curbuf)
+ update_cursor(term, TRUE);
+ }
}
/*