summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2017-04-17 10:01:13 +0100
committerThomas Adam <thomas@xteddy.org>2017-04-17 10:01:13 +0100
commit28833efb4801aedd43f4fc119d4fe841fde848eb (patch)
tree9678d0e104544816b08bf75cbab5e28a3e575088
parentd912687be76891cdf5d124d278bf42b0bebd3106 (diff)
parent175d1854d4b5886c5ad8a77c153ced2b8f15621a (diff)
Merge branch 'obsd-master'
-rw-r--r--server-client.c6
-rw-r--r--server-fn.c1
-rw-r--r--tmux.h4
-rw-r--r--tty.c8
4 files changed, 5 insertions, 14 deletions
diff --git a/server-client.c b/server-client.c
index e6d350ab..3c63a9d5 100644
--- a/server-client.c
+++ b/server-client.c
@@ -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) {
diff --git a/server-fn.c b/server-fn.c
index 5e67be51..0be7f70d 100644
--- a/server-fn.c
+++ b/server-fn.c
@@ -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
diff --git a/tmux.h b/tmux.h
index 12847f1e..3deab57d 100644
--- a/tmux.h
+++ b/tmux.h
@@ -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
diff --git a/tty.c b/tty.c
index 29211be8..43ea1749 100644
--- a/tty.c
+++ b/tty.c
@@ -720,7 +720,8 @@ tty_draw_line(struct tty *tty, const struct window_pane *wp,
tty_putcode(tty, TTYC_EL1);
cleared = 1;
}
- tty_cursor(tty, ox, oy + py);
+ if (sx != 0)
+ tty_cursor(tty, ox, oy + py);
memcpy(&last, &grid_default_cell, sizeof last);
len = 0;
@@ -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) {