ref: c5f435e74ab9b3ad2da9d6f4b903be6c373c7948
parent: 45ebfb3565a5e27c2af6758f95a372aea827b852
author: cinap_lenrek <cinap_lenrek@rei2.9hal>
date: Fri Feb 10 21:00:44 EST 2012
mothra: use aux/statusmsg to display download window, add aux/statusmsg to mkfile
--- a/sys/src/cmd/aux/mkfile
+++ b/sys/src/cmd/aux/mkfile
@@ -33,6 +33,7 @@
searchfs\
seek\
statusbar\
+ statusmsg\
stub\
tablet\
timesync\
--- a/sys/src/cmd/mothra/mothra.c
+++ b/sys/src/cmd/mothra/mothra.c
@@ -265,6 +265,8 @@
char *url;
int errfile;
int i;
+
+ quotefmtinstall();
ARGBEGIN{case 'd': debug++; break;
case 'v': verbose=1; break;
@@ -551,7 +553,7 @@
return s;
}
void save(int ifd, char *name){- char buf[NNAME];
+ char buf[NNAME+64];
int cfd, ofd;
if(ifd < 0){ message("save: %s: %r", name);@@ -571,22 +573,11 @@
close(ifd);
dup(ofd, 1);
close(ofd);
- snprint(buf, sizeof(buf), "-pid %d", getpid());
- if(newwindow(buf) != -1){- close(2); open("/dev/cons", OWRITE);- if((cfd = open("/dev/label", OWRITE)) >= 0){- fprint(cfd, "save %s", name);
- close(cfd);
- }
- if((cfd = open("/dev/wctl", OWRITE)) >= 0){- fprint(cfd, "scroll\n");
- close(cfd);
- }
- fprint(2, "save %s...\n", name);
- execl("/bin/tput", "tput", "-p", nil);- }
- execl("/bin/cat", "cat", nil);- exits(0);
+
+ snprint(buf, sizeof(buf),
+ "{tput -p || cat} |[2] {aux/statusmsg -k %q >/dev/null || cat >/dev/null}", name);+ execl("/bin/rc", "rc", "-c", buf, nil);+ exits("exec");}
close(ifd);
close(ofd);
--
⑨