mirror of
				https://github.com/tmux/tmux.git
				synced 2025-10-26 12:27:15 +00:00 
			
		
		
		
	Do not redraw or update mode if nothing has changed.
This commit is contained in:
		| @@ -434,7 +434,11 @@ screen_redraw_screen(struct client *c) | ||||
| 		return; | ||||
|  | ||||
| 	flags = screen_redraw_update(c, c->flags); | ||||
| 	if ((flags & CLIENT_ALLREDRAWFLAGS) == 0) | ||||
| 		return; | ||||
|  | ||||
| 	screen_redraw_set_context(c, &ctx); | ||||
| 	tty_update_mode(&c->tty, c->tty.mode, NULL); | ||||
| 	tty_sync_start(&c->tty); | ||||
|  | ||||
| 	if (flags & (CLIENT_REDRAWWINDOW|CLIENT_REDRAWBORDERS)) { | ||||
| @@ -470,6 +474,7 @@ screen_redraw_pane(struct client *c, struct window_pane *wp) | ||||
| 		return; | ||||
|  | ||||
| 	screen_redraw_set_context(c, &ctx); | ||||
| 	tty_update_mode(&c->tty, c->tty.mode, NULL); | ||||
| 	tty_sync_start(&c->tty); | ||||
|  | ||||
| 	screen_redraw_draw_pane(&ctx, wp); | ||||
|   | ||||
| @@ -296,7 +296,9 @@ server_client_lost(struct client *c) | ||||
| 	if (c->flags & CLIENT_TERMINAL) | ||||
| 		tty_free(&c->tty); | ||||
| 	free(c->ttyname); | ||||
|  | ||||
| 	free(c->term_name); | ||||
| 	free(c->term_type); | ||||
|  | ||||
| 	status_free(c); | ||||
|  | ||||
| @@ -1780,7 +1782,6 @@ server_client_check_redraw(struct client *c) | ||||
| 			if (!redraw) | ||||
| 				continue; | ||||
| 			log_debug("%s: redrawing pane %%%u", __func__, wp->id); | ||||
| 			tty_update_mode(tty, mode, NULL); | ||||
| 			screen_redraw_pane(c, wp); | ||||
| 		} | ||||
| 		c->redraw_panes = 0; | ||||
| @@ -1788,7 +1789,6 @@ server_client_check_redraw(struct client *c) | ||||
| 	} | ||||
|  | ||||
| 	if (c->flags & CLIENT_ALLREDRAWFLAGS) { | ||||
| 		tty_update_mode(tty, mode, NULL); | ||||
| 		if (options_get_number(s->options, "set-titles")) | ||||
| 			server_client_set_title(c); | ||||
| 		screen_redraw_screen(c); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nicm
					nicm