version 1.30, 2009/09/02 06:33:20 |
version 1.31, 2009/09/07 10:49:32 |
|
|
left = status_replace(s, options_get_string( |
left = status_replace(s, options_get_string( |
&s->options, "status-left"), c->status_timer.tv_sec); |
&s->options, "status-left"), c->status_timer.tv_sec); |
llen = options_get_number(&s->options, "status-left-length"); |
llen = options_get_number(&s->options, "status-left-length"); |
llen2 = screen_write_strlen(utf8flag, "%s", left); |
llen2 = screen_write_cstrlen(utf8flag, "%s", left); |
if (llen2 < llen) |
if (llen2 < llen) |
llen = llen2; |
llen = llen2; |
|
|
right = status_replace(s, options_get_string( |
right = status_replace(s, options_get_string( |
&s->options, "status-right"), c->status_timer.tv_sec); |
&s->options, "status-right"), c->status_timer.tv_sec); |
rlen = options_get_number(&s->options, "status-right-length"); |
rlen = options_get_number(&s->options, "status-right-length"); |
rlen2 = screen_write_strlen(utf8flag, "%s", right); |
rlen2 = screen_write_cstrlen(utf8flag, "%s", right); |
if (rlen2 < rlen) |
if (rlen2 < rlen) |
rlen = rlen2; |
rlen = rlen2; |
|
|
|
|
screen_write_start(&ctx, NULL, &c->status); |
screen_write_start(&ctx, NULL, &c->status); |
if (llen != 0) { |
if (llen != 0) { |
screen_write_cursormove(&ctx, 0, yy); |
screen_write_cursormove(&ctx, 0, yy); |
screen_write_nputs(&ctx, llen, &sl_stdgc, utf8flag, "%s", left); |
screen_write_cnputs(&ctx, llen, &sl_stdgc, utf8flag, "%s", left); |
screen_write_putc(&ctx, &stdgc, ' '); |
screen_write_putc(&ctx, &stdgc, ' '); |
if (larrow) |
if (larrow) |
screen_write_putc(&ctx, &stdgc, ' '); |
screen_write_putc(&ctx, &stdgc, ' '); |
|
|
if (rlen != 0) { |
if (rlen != 0) { |
screen_write_cursormove(&ctx, c->tty.sx - rlen - 1, yy); |
screen_write_cursormove(&ctx, c->tty.sx - rlen - 1, yy); |
screen_write_putc(&ctx, &stdgc, ' '); |
screen_write_putc(&ctx, &stdgc, ' '); |
screen_write_nputs(&ctx, rlen, &sr_stdgc, utf8flag, "%s", right); |
screen_write_cnputs(&ctx, rlen, &sr_stdgc, utf8flag, "%s", right); |
} |
} |
|
|
/* Draw the arrows. */ |
/* Draw the arrows. */ |
|
|
while (len > 0 && *ptr != '\0') { |
while (len > 0 && *ptr != '\0') { |
*optr++ = *ptr++; |
*optr++ = *ptr++; |
len--; |
len--; |
|
} |
|
break; |
|
case '[': |
|
/* |
|
* Embedded style, handled at display time. |
|
* Leave present and skip input until ]. |
|
*/ |
|
*optr++ = '#'; |
|
|
|
iptr--; /* include [ */ |
|
while (*iptr != ']' && *iptr != '\0') { |
|
if (optr >= out + (sizeof out) - 1) |
|
break; |
|
*optr++ = *iptr++; |
} |
} |
break; |
break; |
case '#': |
case '#': |