win: implement Scroll and Noscroll
This commit is contained in:
parent
fa580e2116
commit
e1118cf27c
1 changed files with 13 additions and 1 deletions
|
|
@ -171,7 +171,7 @@ threadmain(int argc, char **argv)
|
||||||
putenv("winid", buf);
|
putenv("winid", buf);
|
||||||
sprint(buf, "%d/tag", id);
|
sprint(buf, "%d/tag", id);
|
||||||
fd = fsopenfd(fs, buf, OWRITE|OCEXEC);
|
fd = fsopenfd(fs, buf, OWRITE|OCEXEC);
|
||||||
write(fd, " Send Delete", 12);
|
write(fd, " Send Noscroll", 1+4+1+8);
|
||||||
close(fd);
|
close(fd);
|
||||||
sprint(buf, "%d/event", id);
|
sprint(buf, "%d/event", id);
|
||||||
eventfd = fsopen(fs, buf, ORDWR|OCEXEC);
|
eventfd = fsopen(fs, buf, ORDWR|OCEXEC);
|
||||||
|
|
@ -202,6 +202,8 @@ threadmain(int argc, char **argv)
|
||||||
fswrite(ctlfd, buf, strlen(buf));
|
fswrite(ctlfd, buf, strlen(buf));
|
||||||
sprint(buf, "dump %s\n", dump);
|
sprint(buf, "dump %s\n", dump);
|
||||||
fswrite(ctlfd, buf, strlen(buf));
|
fswrite(ctlfd, buf, strlen(buf));
|
||||||
|
sprint(buf, "scroll");
|
||||||
|
fswrite(ctlfd, buf, strlen(buf));
|
||||||
|
|
||||||
updatewinsize(25, 80, 0, 0);
|
updatewinsize(25, 80, 0, 0);
|
||||||
proccreate(stdoutproc, nil, STACK);
|
proccreate(stdoutproc, nil, STACK);
|
||||||
|
|
@ -402,6 +404,16 @@ stdinproc(void *v)
|
||||||
e2.flag = e.flag;
|
e2.flag = e.flag;
|
||||||
e = e2;
|
e = e2;
|
||||||
}
|
}
|
||||||
|
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(e.flag & 8){
|
if(e.flag & 8){
|
||||||
if(e.q1 != e.q0){
|
if(e.q1 != e.q0){
|
||||||
sende(&e, fd0, cfd, afd, dfd, 0);
|
sende(&e, fd0, cfd, afd, dfd, 0);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue