version 1.50, 2012/03/15 10:05:49 |
version 1.51, 2012/03/20 11:01:00 |
|
|
struct screen_write_ctx *sctx = &ictx->ctx; |
struct screen_write_ctx *sctx = &ictx->ctx; |
struct window_pane *wp = ictx->wp; |
struct window_pane *wp = ictx->wp; |
struct screen *s = sctx->s; |
struct screen *s = sctx->s; |
|
u_int trigger; |
|
|
log_debug("%s: '%c", __func__, ictx->ch); |
log_debug("%s: '%c", __func__, ictx->ch); |
|
|
|
|
break; |
break; |
case '\010': /* BS */ |
case '\010': /* BS */ |
screen_write_backspace(sctx); |
screen_write_backspace(sctx); |
break; |
goto count_c0; |
case '\011': /* HT */ |
case '\011': /* HT */ |
/* Don't tab beyond the end of the line. */ |
/* Don't tab beyond the end of the line. */ |
if (s->cx >= screen_size_x(s) - 1) |
if (s->cx >= screen_size_x(s) - 1) |
|
|
case '\013': /* VT */ |
case '\013': /* VT */ |
case '\014': /* FF */ |
case '\014': /* FF */ |
screen_write_linefeed(sctx, 0); |
screen_write_linefeed(sctx, 0); |
break; |
goto count_c0; |
case '\015': /* CR */ |
case '\015': /* CR */ |
screen_write_carriagereturn(sctx); |
screen_write_carriagereturn(sctx); |
break; |
goto count_c0; |
case '\016': /* SO */ |
case '\016': /* SO */ |
ictx->cell.attr |= GRID_ATTR_CHARSET; |
ictx->cell.attr |= GRID_ATTR_CHARSET; |
break; |
break; |
|
|
default: |
default: |
log_debug("%s: unknown '%c'", __func__, ictx->ch); |
log_debug("%s: unknown '%c'", __func__, ictx->ch); |
break; |
break; |
|
} |
|
|
|
return (0); |
|
|
|
count_c0: |
|
trigger = options_get_number(&wp->window->options, "c0-change-trigger"); |
|
if (++wp->changes == trigger) { |
|
wp->flags |= PANE_DROP; |
|
window_pane_timer_start(wp); |
} |
} |
|
|
return (0); |
return (0); |