version 1.335, 2020/05/16 15:06:03 |
version 1.336, 2020/05/16 15:34:08 |
|
|
struct tty *tty = &c->tty; |
struct tty *tty = &c->tty; |
struct window *w = c->session->curw->window; |
struct window *w = c->session->curw->window; |
struct window_pane *wp = w->active, *loop; |
struct window_pane *wp = w->active, *loop; |
struct screen *s; |
struct screen *s = NULL; |
struct options *oo = c->session->options; |
struct options *oo = c->session->options; |
int mode, cursor, flags; |
int mode = 0, cursor, flags; |
u_int cx = 0, cy = 0, ox, oy, sx, sy; |
u_int cx = 0, cy = 0, ox, oy, sx, sy; |
|
|
if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED)) |
if (c->flags & (CLIENT_CONTROL|CLIENT_SUSPENDED)) |
|
|
|
|
/* Get mode from overlay if any, else from screen. */ |
/* Get mode from overlay if any, else from screen. */ |
if (c->overlay_draw != NULL) { |
if (c->overlay_draw != NULL) { |
s = NULL; |
if (c->overlay_mode != NULL) |
if (c->overlay_mode == NULL) |
s = c->overlay_mode(c, &cx, &cy); |
mode = 0; |
} else |
else |
|
mode = c->overlay_mode(c, &cx, &cy); |
|
} else { |
|
s = wp->screen; |
s = wp->screen; |
|
if (s != NULL) |
mode = s->mode; |
mode = s->mode; |
if (c->prompt_string != NULL || c->message_string != NULL) |
if (c->prompt_string != NULL || c->message_string != NULL) |
mode &= ~MODE_CURSOR; |
mode &= ~MODE_CURSOR; |
} |
|
log_debug("%s: client %s mode %x", __func__, c->name, mode); |
log_debug("%s: client %s mode %x", __func__, c->name, mode); |
|
|
/* Reset region and margin. */ |
/* Reset region and margin. */ |