summaryrefslogtreecommitdiff
path: root/sys/src/cmd/acme/wind.c
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@gmx.de>2013-09-07 20:07:00 +0200
committercinap_lenrek <cinap_lenrek@gmx.de>2013-09-07 20:07:00 +0200
commit0182cc9db88b4da0a15ad6ee407fa03a3f3ce5b1 (patch)
treef9bfeb4c41a6f0e2a701cb4eaf47291afcabbc3d /sys/src/cmd/acme/wind.c
parentebf2c5cd6997eb7a200ff7d79734ff0dfd43a748 (diff)
acme: avoid useless tagline/window redraw if not needed
window resize is only neccesary if tagline changed.
Diffstat (limited to 'sys/src/cmd/acme/wind.c')
-rw-r--r--sys/src/cmd/acme/wind.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/src/cmd/acme/wind.c b/sys/src/cmd/acme/wind.c
index da62518ed..bea06dd92 100644
--- a/sys/src/cmd/acme/wind.c
+++ b/sys/src/cmd/acme/wind.c
@@ -387,6 +387,8 @@ wintype(Window *w, Text *t, Rune r)
int i;
texttype(t, r);
+ if(t->what == Tag)
+ w->tagsafe = FALSE;
if(t->what == Body)
for(i=0; i<t->file->ntext; i++)
textscrdraw(t->file->text[i]);
@@ -447,6 +449,7 @@ winsettag1(Window *w)
old = runemalloc(w->tag.file->nc+1);
bufread(w->tag.file, 0, old, w->tag.file->nc);
old[w->tag.file->nc] = '\0';
+ w->tagsafe = FALSE;
}
new = runemalloc(w->body.file->nname+100);
i = 0;
@@ -509,6 +512,7 @@ winsettag1(Window *w)
w->tag.q1 = q1+bar;
}
}
+ w->tagsafe = FALSE;
}
free(old);
free(new);
@@ -526,9 +530,8 @@ winsettag1(Window *w)
br.max.x = br.min.x + Dx(b->r);
br.max.y = br.min.y + Dy(b->r);
draw(screen, br, b, nil, b->r.min);
-
- w->tagsafe = 0;
- winresize(w, w->r, TRUE);
+ if(w->tagsafe == FALSE)
+ winresize(w, w->r, TRUE);
}
void