X-Git-Url: https://git.xinqibao.xyz/st.git/blobdiff_plain/ccafacb3ff22c85516ff46a88275097936dfe442..a866108af2c6c008e37a32c61cee931efa5e4f9a:/st.c?ds=sidebyside diff --git a/st.c b/st.c index 1f58569..c24bb1d 100644 --- a/st.c +++ b/st.c @@ -364,21 +364,6 @@ void tsetattr(int *attr, int l) { int i; -#ifdef TRUECOLOR /* ESC [ ? ; ; ; m */ - Color col; - if(escseq.priv && escseq.len == 4) { /* True color extension :) */ - col = (escseq.arg[1]<<16) + (escseq.arg[2]<<8) + escseq.arg[3]; - switch(escseq.arg[0]) { - case 3: /* foreground */ - term.c.attr.fg = col; - break; - case 4: /* background */ - term.c.attr.bg = col; - break; - } - } - else -#endif for(i = 0; i < l; i++) { switch(attr[i]) { case 0: @@ -573,6 +558,17 @@ escreset(void) { memset(&escseq, 0, sizeof(escseq)); } +void +tputtab(void) { + int space = TAB - term.c.x % TAB; + + if(term.c.x + space >= term.col) + space--; + + for(; space > 0; space--) + tcursor(CSright); +} + void tputc(char c) { static int inesc = 0; @@ -589,6 +585,9 @@ tputc(char c) { tsetchar(c); tcursor(CSright); break; + case '\t': + tputtab(); + break; case '\b': tcursor(CSleft); break; @@ -703,7 +702,7 @@ xinit(void) { xw.dis = XOpenDisplay(NULL); xw.scr = XDefaultScreen(xw.dis); - if(!(xw.dis && xw.scr)) + if(!xw.dis) die("can not open display"); /* font */ @@ -916,7 +915,7 @@ run(void) { int main(int argc, char *argv[]) { if(argc == 2 && !strncmp("-v", argv[1], 3)) - die("st-"", © 2009 st engineers\n"); + die("st-" VERSION ", © 2009 st engineers\n"); else if(argc != 1) die("usage: st [-v]\n"); setlocale(LC_CTYPE, "");