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

4
tmux.h
View File

@ -820,7 +820,7 @@ struct window {
int flags; int flags;
#define WINDOW_BELL 0x1 #define WINDOW_BELL 0x1
#define WINDOW_ACTIVITY 0x2 #define WINDOW_ACTIVITY 0x2
#define WINDOW_REDRAW 0x4 /* 0x4 unused */
#define WINDOW_SILENCE 0x8 #define WINDOW_SILENCE 0x8
#define WINDOW_ZOOMED 0x1000 #define WINDOW_ZOOMED 0x1000
#define WINDOW_FORCEWIDTH 0x2000 #define WINDOW_FORCEWIDTH 0x2000
@ -1336,7 +1336,7 @@ struct client {
#define CLIENT_DEAD 0x200 #define CLIENT_DEAD 0x200
#define CLIENT_BORDERS 0x400 #define CLIENT_BORDERS 0x400
#define CLIENT_READONLY 0x800 #define CLIENT_READONLY 0x800
#define CLIENT_REDRAWWINDOW 0x1000 /* 0x1000 unused */
#define CLIENT_CONTROL 0x2000 #define CLIENT_CONTROL 0x2000
#define CLIENT_CONTROLCONTROL 0x4000 #define CLIENT_CONTROLCONTROL 0x4000
#define CLIENT_FOCUSED 0x8000 #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); tty_putcode(tty, TTYC_EL1);
cleared = 1; cleared = 1;
} }
if (sx != 0)
tty_cursor(tty, ox, oy + py); tty_cursor(tty, ox, oy + py);
memcpy(&last, &grid_default_cell, sizeof last); 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) { if (!cleared && sx < tty->sx) {
tty_default_attributes(tty, wp, 8); tty_default_attributes(tty, wp, 8);
tty_cursor(tty, ox + sx, oy + py); tty_cursor(tty, ox + sx, oy + py);
if (sx != screen_size_x(s) && if (sx != screen_size_x(s) &&
ox + screen_size_x(s) >= tty->sx && ox + screen_size_x(s) >= tty->sx &&
@ -816,9 +816,7 @@ tty_write(void (*cmdfn)(struct tty *, const struct tty_ctx *),
if (wp == NULL) if (wp == NULL)
return; return;
if (wp->window->flags & WINDOW_REDRAW || wp->flags & PANE_REDRAW) if ((wp->flags & (PANE_REDRAW|PANE_DROP)) || !window_pane_visible(wp))
return;
if (!window_pane_visible(wp) || wp->flags & PANE_DROP)
return; return;
TAILQ_FOREACH(c, &clients, entry) { TAILQ_FOREACH(c, &clients, entry) {