Merge branch 'obsd-master'

This commit is contained in:
Thomas Adam 2017-04-17 10:01:13 +01:00
commit 28833efb48
4 changed files with 5 additions and 14 deletions

View File

@ -990,7 +990,6 @@ server_client_loop(void)
*/
focus = options_get_number(global_options, "focus-events");
RB_FOREACH(w, windows, &windows) {
w->flags &= ~WINDOW_REDRAW;
TAILQ_FOREACH(wp, &w->panes, entry) {
if (wp->fd != -1) {
if (focus)
@ -1235,11 +1234,6 @@ server_client_check_redraw(struct client *c)
tty_update_mode(tty, tty->mode, NULL);
screen_redraw_screen(c, 1, 1, 1);
c->flags &= ~(CLIENT_STATUS|CLIENT_BORDERS);
} else if (c->flags & CLIENT_REDRAWWINDOW) {
tty_update_mode(tty, tty->mode, NULL);
TAILQ_FOREACH(wp, &c->session->curw->window->panes, entry)
screen_redraw_pane(c, wp);
c->flags &= ~CLIENT_REDRAWWINDOW;
} else {
TAILQ_FOREACH(wp, &c->session->curw->window->panes, entry) {
if (wp->flags & PANE_REDRAW) {

View File

@ -98,7 +98,6 @@ server_redraw_window(struct window *w)
if (c->session != NULL && c->session->curw->window == w)
server_redraw_client(c);
}
w->flags |= WINDOW_REDRAW;
}
void

4
tmux.h
View File

@ -820,7 +820,7 @@ struct window {
int flags;
#define WINDOW_BELL 0x1
#define WINDOW_ACTIVITY 0x2
#define WINDOW_REDRAW 0x4
/* 0x4 unused */
#define WINDOW_SILENCE 0x8
#define WINDOW_ZOOMED 0x1000
#define WINDOW_FORCEWIDTH 0x2000
@ -1336,7 +1336,7 @@ struct client {
#define CLIENT_DEAD 0x200
#define CLIENT_BORDERS 0x400
#define CLIENT_READONLY 0x800
#define CLIENT_REDRAWWINDOW 0x1000
/* 0x1000 unused */
#define CLIENT_CONTROL 0x2000
#define CLIENT_CONTROLCONTROL 0x4000
#define CLIENT_FOCUSED 0x8000

6
tty.c
View File

@ -720,6 +720,7 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
tty_putcode(tty, TTYC_EL1);
cleared = 1;
}
if (sx != 0)
tty_cursor(tty, ox, oy + py);
memcpy(&last, &grid_default_cell, sizeof last);
@ -776,7 +777,6 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
if (!cleared && sx < tty->sx) {
tty_default_attributes(tty, wp, 8);
tty_cursor(tty, ox + sx, oy + py);
if (sx != screen_size_x(s) &&
ox + screen_size_x(s) >= tty->sx &&
@ -816,9 +816,7 @@ tty_write(void (*cmdfn)(struct tty *, const struct tty_ctx *),
if (wp == NULL)
return;
if (wp->window->flags & WINDOW_REDRAW || wp->flags & PANE_REDRAW)
return;
if (!window_pane_visible(wp) || wp->flags & PANE_DROP)
if ((wp->flags & (PANE_REDRAW|PANE_DROP)) || !window_pane_visible(wp))
return;
TAILQ_FOREACH(c, &clients, entry) {