/***************************************************************************
** RX $VER: StartDVIPrintSetUp.sd 3.3 (20.3.95)                           **
**                                                                        **
** Mit diesem ARexx-Skript kann man DVIprint sehr einfach und komfortabel **
** von ShowDVI aus aufrufen.  Als Schnittstelle zwischen dem Previewer    **
** ShowDVI und dem Druckertreiber DVIprint wird das Einstellerprogramm    **
** DVIprintSetUp vorgeschaltet, mit dem sämtliche Einstellungen und       **
** Optionen festgelegt werden können.  Die Ersetzung des Aufrufes von     **
** StartDVIprint.sd in ShowDVI.config durch dieses Script wird das Inter- **
** face-Programm DVIprintSetUp eingebunden.                               **
**                                                                        **
** HINWEIS: Es werden die Programme                                       **
**                                                                        **
**       'TeXMF:bin/pastex/DVIprint'                                      **
**       'TeXMF:bin/pastex/DVIPrintSetUp'                                 **
**                                                                        **
** benötigt.  Systembedingte Voraussetzungen erlauben die Benutzung von   **
** DVIprintSetUp erst ab AmigaOS 2.0!                                     **
**                                                                        **
** ÄNDERUNGEN: 17.3.1994: Spezialfall "RAM DISK:" wird erkannt.           **
**             18.3.1995: TDS installiert.                                **
***************************************************************************/

Options Results

/***************************************************************************
** Dateiname, Pfad und aktuelle Seite von ShowDVI erfragen.               **
***************************************************************************/
GetFile
LOADEDFILE = RESULT

GetDir
LOADEDDIR = RESULT

If "RAM DISK:" = Upper(Left(LOADEDDIR,9)) Then
  LOADEDDIR = "RAM:" || SubStr(LOADEDDIR,10)

GetPage
PAGE = RESULT

If Right(LOADEDDIR,1)~='/' & Right(LOADEDDIR,1)~=':' Then
  LOADEDDIR = LOADEDDIR||'/'

If Upper(Right(LOADEDFILE,4)) ~= ".DVI" Then
  LOADEDFILE = LOADEDFILE||".dvi"

If LOADEDFILE = "" | ~Exists(LOADEDDIR||LOADEDFILE) Then Do
  Message "Welche Datei soll gedruckt werden?"
  Exit 5
End

If Show('Port','dviprint') Then Do
  Message "DVIprint läuft bereits, bitte warten"
  Exit 5
End

/***************************************************************************
** Übergib das ganze an das SetUp-Programm. Das macht dann den Rest.      **
***************************************************************************/
Address COMMAND 'DVIPrintSetUp' PAGE LOADEDDIR||LOADEDFILE
If RC > 0 Then Do
  Message "Fehler bei DVIprint."
  Exit 10
End; Else
  Message "Druck beendet."

Exit 0
