diff options
Diffstat (limited to 'src/cmd')
-rw-r--r-- | src/cmd/9term/9term.c | 19 | ||||
-rw-r--r-- | src/cmd/9term/dat.h | 3 | ||||
-rw-r--r-- | src/cmd/9term/fns.h | 2 | ||||
-rw-r--r-- | src/cmd/9term/win.c | 10 | ||||
-rw-r--r-- | src/cmd/9term/wind.c | 13 | ||||
-rw-r--r-- | src/cmd/acme/dat.h | 1 | ||||
-rw-r--r-- | src/cmd/acme/exec.c | 1 | ||||
-rw-r--r-- | src/cmd/acme/xfid.c | 14 |
8 files changed, 16 insertions, 47 deletions
diff --git a/src/cmd/9term/9term.c b/src/cmd/9term/9term.c index 806215df..344a7b55 100644 --- a/src/cmd/9term/9term.c +++ b/src/cmd/9term/9term.c @@ -67,7 +67,7 @@ threadmain(int argc, char *argv[]) fontname = EARGF(usage()); break; case 's': - scrolling = TRUE; + /* no-op */ break; case 'c': cooked = TRUE; @@ -114,7 +114,7 @@ threadmain(int argc, char *argv[]) timerinit(); servedevtext(); rcpid = rcstart(argc, argv, &rcfd, &sfd); - w = new(screen, FALSE, scrolling, rcpid, ".", nil, nil); + w = new(screen, FALSE, rcpid, ".", nil, nil); threadcreate(keyboardthread, nil, STACK); threadcreate(mousethread, nil, STACK); @@ -241,7 +241,7 @@ wpointto(Point pt) } Window* -new(Image *i, int hideit, int scrollit, int pid, char *dir, char *cmd, char **argv) +new(Image *i, int hideit, int pid, char *dir, char *cmd, char **argv) { Window *w; Mousectl *mc; @@ -258,7 +258,7 @@ new(Image *i, int hideit, int scrollit, int pid, char *dir, char *cmd, char **ar *mc = *mousectl; /* mc->image = i; */ mc->c = cm; - w = wmk(i, mc, ck, cctl, scrollit); + w = wmk(i, mc, ck, cctl); free(mc); /* wmk copies *mc */ window = erealloc(window, ++nwindow*sizeof(Window*)); window[nwindow-1] = w; @@ -288,7 +288,6 @@ enum Snarf, Plumb, Send, - Scroll, Cook }; @@ -298,7 +297,6 @@ char *menu2str[] = { "snarf", "plumb", "send", - "scroll", "cook", nil }; @@ -317,10 +315,6 @@ button2menu(Window *w) if(w->deleted) return; incref(&w->ref); - if(w->scrolling) - menu2str[Scroll] = "noscroll"; - else - menu2str[Scroll] = "scroll"; if(cooked) menu2str[Cook] = "nocook"; else @@ -364,11 +358,6 @@ button2menu(Window *w) wsetselect(w, w->nr, w->nr); wshow(w, w->nr); break; - - case Scroll: - if(w->scrolling ^= 1) - wshow(w, w->nr); - break; case Cook: cooked ^= 1; diff --git a/src/cmd/9term/dat.h b/src/cmd/9term/dat.h index bc6d1fc9..052f3b82 100644 --- a/src/cmd/9term/dat.h +++ b/src/cmd/9term/dat.h @@ -131,7 +131,6 @@ struct Window Rectangle lastsr; int topped; int notefd; - uchar scrolling; Cursor cursor; Cursor *cursorp; uchar holding; @@ -149,7 +148,7 @@ int winborder(Window*, Point); void winctl(void*); void winshell(void*); Window* wlookid(int); -Window* wmk(Image*, Mousectl*, Channel*, Channel*, int); +Window* wmk(Image*, Mousectl*, Channel*, Channel*); Window* wpointto(Point); Window* wtop(Point); void wtopme(Window*); diff --git a/src/cmd/9term/fns.h b/src/cmd/9term/fns.h index a0ae686a..cdb5ff6f 100644 --- a/src/cmd/9term/fns.h +++ b/src/cmd/9term/fns.h @@ -6,7 +6,7 @@ int whide(Window*); int wunhide(int); void freescrtemps(void); int parsewctl(char**, Rectangle, Rectangle*, int*, int*, int*, int*, char**, char*, char*); -Window *new(Image*, int, int, int, char*, char*, char**); +Window *new(Image*, int, int, char*, char*, char**); void riosetcursor(Cursor*, int); int min(int, int); int max(int, int); diff --git a/src/cmd/9term/win.c b/src/cmd/9term/win.c index 93dc770a..fd8e3998 100644 --- a/src/cmd/9term/win.c +++ b/src/cmd/9term/win.c @@ -181,7 +181,7 @@ threadmain(int argc, char **argv) putenv("winid", buf); sprint(buf, "%d/tag", id); fd = fsopenfd(fs, buf, OWRITE|OCEXEC); - write(fd, " Send Noscroll", 1+4+1+8); + write(fd, " Send", 1+4); close(fd); sprint(buf, "%d/event", id); eventfd = fsopen(fs, buf, ORDWR|OCEXEC); @@ -440,14 +440,6 @@ stdinproc(void *v) } char buf[100]; snprint(buf, sizeof buf, "%.*S", e.nr, e.r); - if(cistrcmp(buf, "scroll") == 0) { - fsprint(ctlfd, "scroll\nshow"); - break; - } - if(cistrcmp(buf, "noscroll") == 0) { - fsprint(ctlfd, "noscroll"); - break; - } if(cistrcmp(buf, "cook") == 0) { cook = 1; break; diff --git a/src/cmd/9term/wind.c b/src/cmd/9term/wind.c index 4cc9c207..aa7c8288 100644 --- a/src/cmd/9term/wind.c +++ b/src/cmd/9term/wind.c @@ -36,7 +36,7 @@ static Image *lightholdcol; static Image *paleholdcol; Window* -wmk(Image *i, Mousectl *mc, Channel *ck, Channel *cctl, int scrolling) +wmk(Image *i, Mousectl *mc, Channel *ck, Channel *cctl) { Window *w; Rectangle r; @@ -77,7 +77,6 @@ wmk(Image *i, Mousectl *mc, Channel *ck, Channel *cctl, int scrolling) w->topped = ++topped; w->id = ++id; w->notefd = -1; - w->scrolling = scrolling; w->dir = estrdup(startdir); w->label = estrdup("<unnamed>"); r = insetrect(w->i->r, Selborder); @@ -192,7 +191,7 @@ winctl(void *arg) { Rune *rp, *bp, *up, *kbdr; uint qh; - int nr, nb, c, wid, i, npart, initial, lastb; + int nr, nb, c, wid, i, npart, initial, lastb, scrolling; char *s, *t, part[UTFmax]; Window *w; Mousestate *mp, m; @@ -248,10 +247,7 @@ winctl(void *arg) alts[WMouseread].op = CHANSND; else alts[WMouseread].op = CHANNOP; - if(!w->scrolling && !w->mouseopen && w->qh>w->org+w->f.nchars) - alts[WCwrite].op = CHANNOP; - else - alts[WCwrite].op = CHANSND; + alts[WCwrite].op = CHANSND; if(w->deleted || !w->wctlready) alts[WWread].op = CHANNOP; else @@ -369,8 +365,9 @@ winctl(void *arg) w->qh = qh; } nr = up - rp; + scrolling = w->org <= w->qh && w->qh <= w->org + w->f.nchars; w->qh = winsert(w, rp, nr, w->qh)+nr; - if(w->scrolling || w->mouseopen) + if(scrolling) wshow(w, w->qh); wsetselect(w, w->q0, w->q1); wscrdraw(w); diff --git a/src/cmd/acme/dat.h b/src/cmd/acme/dat.h index b15395fd..300ba65f 100644 --- a/src/cmd/acme/dat.h +++ b/src/cmd/acme/dat.h @@ -243,7 +243,6 @@ struct Window Range limit; uchar nopen[QMAX]; uchar nomark; - uchar noscroll; Range wrselrange; int rdselfd; Column *col; diff --git a/src/cmd/acme/exec.c b/src/cmd/acme/exec.c index a71b5b48..ad4da001 100644 --- a/src/cmd/acme/exec.c +++ b/src/cmd/acme/exec.c @@ -960,6 +960,7 @@ sendx(Text *et, Text *t, Text *_0, int _1, int _2, Rune *_3, int _4) if(textreadc(t, t->file->b.nc-1) != '\n'){ textinsert(t, t->file->b.nc, Lnl, 1, TRUE); textsetselect(t, t->file->b.nc, t->file->b.nc); + textshow(t, t->q1, t->q1, 1); } } diff --git a/src/cmd/acme/xfid.c b/src/cmd/acme/xfid.c index db5d54b0..18b06dd1 100644 --- a/src/cmd/acme/xfid.c +++ b/src/cmd/acme/xfid.c @@ -510,8 +510,8 @@ xfidwrite(Xfid *x) if(tq1 >= q0) tq1 += nr; textsetselect(t, tq0, tq1); - if(!t->w->noscroll) - textshow(t, q0, q0+nr, 0); + if(t->org <= q0 && q0 <= t->org+t->fr.nchars) + textshow(t, q0+nr, q0+nr, 0); textscrdraw(t); winsettag(w); free(r); @@ -568,7 +568,7 @@ xfidwrite(Xfid *x) } q0 = textbsinsert(t, q0, r, nr, TRUE, &nr); textsetselect(t, t->q0, t->q1); /* insert could leave it somewhere else */ - if(qid!=QWwrsel && !t->w->noscroll) + if(qid!=QWwrsel && t->org <= q0 && q0 < t->org+t->fr.nchars) textshow(t, q0+nr, q0+nr, 1); textscrdraw(t); } @@ -768,18 +768,10 @@ out: w->filemenu = TRUE; m = 4; }else - if(strncmp(p, "noscroll", 8) == 0){ /* turn off automatic scrolling */ - w->noscroll = TRUE; - m = 8; - }else if(strncmp(p, "cleartag", 8) == 0){ /* wipe tag right of bar */ wincleartag(w); settag = TRUE; m = 8; - }else - if(strncmp(p, "scroll", 6) == 0){ /* turn on automatic scrolling (writes to body only) */ - w->noscroll = FALSE; - m = 6; }else{ err = Ebadctl; break; |