diff options
author | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-20 14:32:50 +0200 |
---|---|---|
committer | cinap_lenrek <cinap_lenrek@gmx.de> | 2012-07-20 14:32:50 +0200 |
commit | 98d5687ce47dc3cb014d5c3cb951e05dfe9e9da5 (patch) | |
tree | 60426055aa98f7570e2d3c5a856f53df7a83a849 /sys/src/cmd/mothra/rdhtml.c | |
parent | 3707561e047f8e7c9993e0ba5a3a3fb5b5f6a6fd (diff) |
mothra: delayed screen updates to reduce flicker
Diffstat (limited to 'sys/src/cmd/mothra/rdhtml.c')
-rw-r--r-- | sys/src/cmd/mothra/rdhtml.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/sys/src/cmd/mothra/rdhtml.c b/sys/src/cmd/mothra/rdhtml.c index 7e663563b..0f0c90f1f 100644 --- a/sys/src/cmd/mothra/rdhtml.c +++ b/sys/src/cmd/mothra/rdhtml.c @@ -98,7 +98,7 @@ void pl_htmloutput(Hglob *g, int nsp, char *s, Field *field){ if(g->tp!=g->text && g->tp!=g->etext && g->tp[-1]!=' ') *g->tp++=' '; while(g->tp!=g->etext && *s) *g->tp++=*s++; - if(g->state->tag==Tag_title) update(g->dst); + if(g->state->tag==Tag_title) g->dst->changed=1; *g->tp='\0'; } return; @@ -149,7 +149,7 @@ void pl_htmloutput(Hglob *g, int nsp, char *s, Field *field){ g->state->link[0] || g->state->image[0], ap); g->para=0; g->linebrk=0; - update(g->dst); + g->dst->changed=1; } /* @@ -760,10 +760,11 @@ void plrdhtml(char *name, int fd, Www *dst){ if((str=strchr(str, '='))==0) break; str++; + pl_htmloutput(&g, 0, "[refresh: ", 0); str=unquot(g.state->link, str, sizeof(g.state->link)); - pl_htmloutput(&g, 0, "refresh: ", 0); pl_htmloutput(&g, 0, str, 0); g.state->link[0]=0; + pl_htmloutput(&g, 0, "]", 0); g.linebrk=1; g.spacc=0; break; @@ -773,17 +774,18 @@ void plrdhtml(char *name, int fd, Www *dst){ case Tag_embed: case Tag_frame: case Tag_iframe: + snprint(buf, sizeof(buf), "[%s: ", tag[g.tag].name); + pl_htmloutput(&g, 0, buf, 0); if(str=pl_getattr(g.attr, "src")) nstrcpy(g.state->link, str, sizeof(g.state->link)); if(str=pl_getattr(g.attr, "name")) nstrcpy(g.state->name, str, sizeof(g.state->name)); else str = g.state->link; - pl_htmloutput(&g, 0, tag[g.tag].name, 0); - pl_htmloutput(&g, 0, ": ", 0); pl_htmloutput(&g, 0, str, 0); g.state->link[0]=0; g.state->name[0]=0; + pl_htmloutput(&g, 0, "]", 0); g.linebrk=1; g.spacc=0; break; @@ -1092,7 +1094,6 @@ void plrdhtml(char *name, int fd, Www *dst){ htmlerror(g.name, g.lineno, "missing </%s> at EOF", tag[g.state->tag].name); *g.tp='\0'; - update(dst); getpix(dst->text, dst); finish(dst); return; |