grenley@nsc.UUCP (08/04/87)
I would like to be able to print a mail message from mail. Currently, I save the message, then print them when I exit. I would prefer to just print it, without creating a file, as I don't want to keep it around on disk. I use 4.3bsd and csh. Can anybody help? Thanks, George
mkhaw@teknowledge-vaxc.UUCP (08/04/87)
in article <4533@nsc.nsc.com>, grenley@nsc.nsc.com (George Grenley) says: > > I would like to be able to print a mail message from mail. Currently, > I save the message, then print them when I exit. I would prefer to > just print it, without creating a file, as I don't want to keep it > around on disk. I use 4.3bsd and csh. When I used to use /usr/ucb/Mail, my .mailrc had alias printer '|lpr' So to print, I'd just m printer ~f ^D Elm and Mush both have print commands, and I expect MH also gives you a way to print. Mike Khaw -- internet: mkhaw@teknowledge-vaxc.arpa usenet: {hplabs|sun|ucbvax|decwrl|sri-unix}!mkhaw%teknowledge-vaxc.arpa USnail: Teknowledge Inc, 1850 Embarcadero Rd, POB 10119, Palo Alto, CA 94303
whm@arizona.edu (Bill Mitchell) (08/05/87)
One day I grew tired of saving stuff into a file and then printing the file, so I hacked Mail to allow one to "s |cmd". I took the easy route and ignored the problem of not being able to "s |cmd arg". It seems to cover about 90% of my needs. The diffs are pretty simple and follow. You can take them or leave them! Bill Mitchell whm@arizona.edu {allegra,cmcl2,ihnp4,noao}!arizona!whm *** /tmp/,RCSt1013587 Wed Aug 5 02:38:56 1987 --- cmd2.c Thu May 8 11:22:01 1986 *************** *** 151,163 return(1); printf("\"%s\" ", file); fflush(stdout); ! if (stat(file, &statb) >= 0) ! disp = "[Appended]"; ! else ! disp = "[New file]"; ! if ((obuf = fopen(file, "a")) == NULL) { ! perror(NOSTR); ! return(1); } cc = 0L; lc = 0; --- 151,162 ----- return(1); printf("\"%s\" ", file); fflush(stdout); ! if (file[0] == '|') { ! disp = "[Piped]"; ! if ((obuf = popen(&file[1], "w")) == NULL) { ! perror(NOSTR); ! return(1); ! } } else { if (stat(file, &statb) >= 0) *************** *** 159,164 perror(NOSTR); return(1); } cc = 0L; lc = 0; for (ip = msgvec; *ip && ip-msgvec < msgCount; ip++) { --- 158,173 ----- return(1); } } + else { + if (stat(file, &statb) >= 0) + disp = "[Appended]"; + else + disp = "[New file]"; + if ((obuf = fopen(file, "a")) == NULL) { + perror(NOSTR); + return(1); + } + } cc = 0L; lc = 0; for (ip = msgvec; *ip && ip-msgvec < msgCount; ip++) { *************** *** 167,173 mp = &message[mesg-1]; if ((t = send(mp, obuf, 0)) < 0) { perror(file); ! fclose(obuf); return(1); } lc += t; --- 176,185 ----- mp = &message[mesg-1]; if ((t = send(mp, obuf, 0)) < 0) { perror(file); ! if (file[0] == '|') ! pclose(obuf); ! else ! fclose(obuf); return(1); } lc += t; *************** *** 178,184 fflush(obuf); if (ferror(obuf)) perror(file); ! fclose(obuf); printf("%s %d/%ld\n", disp, lc, cc); return(0); } --- 190,199 ----- fflush(obuf); if (ferror(obuf)) perror(file); ! if (file[0] == '|') ! pclose(obuf); ! else ! fclose(obuf); printf("%s %d/%ld\n", disp, lc, cc); return(0); }
csrobe@icase.arpa (Charles S. Roberson) (08/06/87)
In article <4533@nsc.nsc.com>, grenley@nsc.nsc.com (George Grenley) says: > > I would like to be able to print a mail message from mail. Currently, > I save the message, then print them when I exit. I would prefer to > just print it, without creating a file, as I don't want to keep it > around on disk. I use 4.3bsd and csh. If you have the pipe command you can try this: Add this line in you .mailrc file: set cmd='lpr -P<your_favorite_printer>' and then when you have just finished reading a message and it is still the 'current message', type: pipe This is what I use for a quick print. From what I understand, if you want a to print a message other than the current message you must specify the whole thing. pipe <msg #> 'lpr -P<your_favorite_printer>' good luck, -c -------------------------------------------------------------------- Chip Roberson ARPANET: csrobe@icase.arpa 1105 London Company Way BITNET: $csrobe@wmmvs.bitnet Williamsburg, VA 23185 UUCP: ...!seismo!gmu90x!wmcs!csrobe --------------------------------------------------------------------
allbery@ncoast.UUCP (08/09/87)
As quoted from <15330@teknowledge-vaxc.ARPA> by mkhaw@teknowledge-vaxc.ARPA (Michael Khaw): +--------------- | Elm and Mush both have print commands, and I expect MH also gives you a way | to print. +--------------- Either of "show|lpr" or "lpr `mhpath cur`" will work. I use the former. -- Brandon S. Allbery, moderator of comp.sources.misc and comp.binaries.ibm.pc {{harvard,mit-eddie}!necntc,well!hoptoad,sun!mandrill!hal}!ncoast!allbery ARPA: necntc!ncoast!allbery@harvard.harvard.edu Fido: 157/502 MCI: BALLBERY <<ncoast Public Access UNIX: +1 216 781 6201 24hrs. 300/1200/2400 baud>> ** Site "cwruecmp" is changing its name to "mandrill". Please re-address ** *** all mail to ncoast to pass through "mandrill" instead of "cwruecmp". ***
roger@celtics.UUCP (Roger B.A. Klorese) (08/13/87)
In article <4533@nsc.nsc.com> grenley@nsc.UUCP (George Grenley) writes: >I would like to be able to print a mail message from mail. Currently, >I save the message, then print them when I exit. I would prefer to >just print it, without creating a file, as I don't want to keep it >around on disk. I use 4.3bsd and csh. > >Can anybody help? Here's an inelegant but painless solution... In your .mailrc file, include the following: alias print |lpr Then, when you have a message you wish to print, after reading it, send it on to the mock-user "print". If you read message 5, for example... & m print ~f 5 ^D (If you wish to provide this capability system-wide, put the alias in /usr/lib/aliases instead of your .mailrc file.) -- ///==\\ (No disclaimer - nobody's listening anyway.) /// Roger B.A. Klorese, CELERITY (Northeast Area) \\\ 40 Speen St., Framingham, MA 01701 +1 617 872-1552 \\\==// celtics!roger@seismo.CSS.GOV - seismo!celtics!roger