git: 9front

Download patch

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);
--