This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
=============================================================================== Robb Kambic Unidata Program Center Software Engineer III Univ. Corp for Atmospheric Research address@hidden WWW: http://www.unidata.ucar.edu/ =============================================================================== ---------- Forwarded message ---------- Date: Wed, 8 Aug 2001 21:53:18 -0400 From: Michael W Dross <address@hidden> To: address@hidden, address@hidden "stonie. cooper@planetarydata. com" <address@hidden>, "timothy. wells@planetarydata. com" <address@hidden> Subject: ldmxnotify program: added print capability Hi, A couple of months ago I sent a note with the tcl/tk script that will pop-up an X window with a bulletin from the LDM. This is nice, so you don't have to print every statement, warning etc. Today I added the ability to print the bulletin, via a print button. So I thought I would pass it along. In order to run this you must have tcl/tk installed, many systems do. I am running this on Linux. In order to print you must have your printer defined, ie lp0 in my case. An example pqact.conf entry that will pop-up any Tropical Bulletins from the NHC: DDPLUS ^WTNT.. KNHC PIPE -strip -close /weather/ldm/bin/ldmxnotify -d wxdata3:0 lp0 The '-d wxdata3:0' is the X display definition The 'lp0' is the print spool. If you have any questions let me know, Mike Dross Below is the script: ldmxnotify --------------> #!/usr/bin/wish # gets printer spool name from command line variable argv # take the stdin text and assign to variable $info set info [exec cat] text .xstdin -yscrollcommand {.s set} .xstdin insert 1.0 $info scrollbar .s -orient vertical -command {.xstdin yview} button .b1 -text Exit -command exit button .b2 -text "Print" -command Prnt # .b1 gets the entire bottom of the window. pack .b1 -side bottom pack .b2 -side bottom # Pack .s next, so that if the user decreases the size # of the window, the Text widget shrinks instead of # the Scrollbar. .s gets the right-hand side of the space # left over. It fills it vertically. pack .s -side right -fill y # Pack .xstdin last. Expand its packing space into # any additional space that becomes available if the # user resizes the window. Have the Text widget # completely fill its packing space. pack .xstdin -expand yes -fill both # Beep on pop-up bell # Sleep 5 minutes (300,000 milliseconds) then close window after 300000 exit proc Prnt {} { # Make info a global variable otherwise would not get read in a prodcedure global info argv # Spool to printer exec lpr -P$argv <<$info }