Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

XEmacs printing script

by macguges (Initiate)
on Feb 10, 2001 at 04:06 UTC ( #57526=sourcecode: print w/replies, xml ) Need Help??
Category: Win32 Stuff
Author/Contact Info Mithras MacGuges, mithras@dhp.com
Description: Got XEmacs? Got Windows NT (or its evil twin, Windows 2000?) Got a line printer daemon (somewhere, lurking near a printer)?

Then this script is for you. Explore the wonders of printing from your favorite editor, even under Windows.

(Cygwin environment may be necessary, and is a nifty idea anyway. Your lpd's IP & printer queue name may differ.)

#!/bin/perl

# I wrote this script to enable printing from XEmacs, which expects 
# a printing command which accepts text from *standard input*.

# So, this script reads the standard input, diverts it to a file,
# then calls Windows NT lpr with this file and any options given
# on the command line.

my $command = "lpr";

srand;  # seeds the random number generator

# lpr expects interprets its arguments in the DOS context, taking back
+slashes
$filestub = "\\tmp\\lp".(time%10000).".";
do {
    $filename = $filestub.int(rand(1000));
} while (-e $filename);

open SLURP, ">$filename";
print SLURP <STDIN>;   # put everything from stdin into this file
close SLURP;

my @args = ($command, @ARGV, $filename);
system(@args) == 0
    or die "system @args failed: $?";

unlink $filename;
Replies are listed 'Best First'.
Re: XEmacs printing script
by AgentM (Curate) on Feb 10, 2001 at 04:29 UTC
Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: sourcecode [id://57526]
help
Chatterbox?
[marto]: it's a shame Solaris is such a PITA to build on :)
LanX great movie!

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (8)
As of 2017-07-28 09:53 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I came, I saw, I ...
























    Results (426 votes). Check out past polls.