mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +00:00
Do not hoke into struct window_pane from the tty code and instead set
everything up in tty_ctx. Provide a way to initialize the tty_ctx from a callback and use it to let popups draw directly through input_parse in the same way as panes do, rather than forcing a full redraw on every change.
This commit is contained in:
6
status.c
6
status.c
@ -372,7 +372,7 @@ status_redraw(struct client *c)
|
||||
screen_resize(&sl->screen, width, lines, 0);
|
||||
changed = force = 1;
|
||||
}
|
||||
screen_write_start(&ctx, NULL, &sl->screen);
|
||||
screen_write_start(&ctx, &sl->screen);
|
||||
|
||||
/* Write the status lines. */
|
||||
o = options_get(s->options, "status-format");
|
||||
@ -509,7 +509,7 @@ status_message_redraw(struct client *c)
|
||||
style_apply(&gc, s->options, "message-style", ft);
|
||||
format_free(ft);
|
||||
|
||||
screen_write_start(&ctx, NULL, sl->active);
|
||||
screen_write_start(&ctx, sl->active);
|
||||
screen_write_fast_copy(&ctx, &sl->screen, 0, 0, c->tty.sx, lines - 1);
|
||||
screen_write_cursormove(&ctx, 0, lines - 1, 0);
|
||||
for (offset = 0; offset < c->tty.sx; offset++)
|
||||
@ -664,7 +664,7 @@ status_prompt_redraw(struct client *c)
|
||||
if (start > c->tty.sx)
|
||||
start = c->tty.sx;
|
||||
|
||||
screen_write_start(&ctx, NULL, sl->active);
|
||||
screen_write_start(&ctx, sl->active);
|
||||
screen_write_fast_copy(&ctx, &sl->screen, 0, 0, c->tty.sx, lines - 1);
|
||||
screen_write_cursormove(&ctx, 0, lines - 1, 0);
|
||||
for (offset = 0; offset < c->tty.sx; offset++)
|
||||
|
Reference in New Issue
Block a user