mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Be less aggressive about turning the cursor off, only explicitly turn it off
when tmux is redrawing, otherwise leave in the state set by the application.
This commit is contained in:
		
							
								
								
									
										8
									
								
								tty.c
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								tty.c
									
									
									
									
									
								
							@@ -524,6 +524,8 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
 | 
			
		||||
	const struct grid_utf8	*gu;
 | 
			
		||||
	u_int			 i, sx;
 | 
			
		||||
 | 
			
		||||
	tty_update_mode(tty, tty->mode & ~MODE_CURSOR);
 | 
			
		||||
 | 
			
		||||
	sx = screen_size_x(s);
 | 
			
		||||
	if (sx > s->grid->linedata[s->grid->hsize + py].cellsize)
 | 
			
		||||
		sx = s->grid->linedata[s->grid->hsize + py].cellsize;
 | 
			
		||||
@@ -548,8 +550,10 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
 | 
			
		||||
			tty_cell(tty, gc, gu);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if (sx >= tty->sx)
 | 
			
		||||
	if (sx >= tty->sx) {
 | 
			
		||||
		tty_update_mode(tty, tty->mode);
 | 
			
		||||
		return;
 | 
			
		||||
	}
 | 
			
		||||
	tty_reset(tty);
 | 
			
		||||
 | 
			
		||||
	tty_cursor(tty, sx, py, ox, oy);
 | 
			
		||||
@@ -559,6 +563,7 @@ tty_draw_line(struct tty *tty, struct screen *s, u_int py, u_int ox, u_int oy)
 | 
			
		||||
		for (i = sx; i < screen_size_x(s); i++)
 | 
			
		||||
			tty_putc(tty, ' ');
 | 
			
		||||
	}
 | 
			
		||||
	tty_update_mode(tty, tty->mode);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void
 | 
			
		||||
@@ -587,7 +592,6 @@ tty_write(void (*cmdfn)(
 | 
			
		||||
		if (c->session->curw->window == wp->window) {
 | 
			
		||||
			if (c->tty.flags & TTY_FREEZE || c->tty.term == NULL)
 | 
			
		||||
				continue;
 | 
			
		||||
			tty_update_mode(&c->tty, c->tty.mode & ~MODE_CURSOR);
 | 
			
		||||
			cmdfn(&c->tty, ctx);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user