/**********************************************************************

   Opens an ARexx-Port 'Start_TeX' + CED + ShowDVI + Toolmanager Docks
   Port Name: "Start_TeX"

   04.10.93    Thomas Neidhardt

Das Hyper-Comfort-Paket benötigt noch:
------------------------------------------
+ den Toolmanager (von Stefan Becker)

+ ein funktionsfähiges PasTeX Paket (von Georg Hessmann, Uni Passau)


+ in TeX:  (selbst assignen, z.B. WORK:PasTeX/ )
  TeX-Start (Shell-Script)
  TeX.view

+ in TEXREXX (siehe ENV:TEXREXX , normal: TeX:rexx/ )

     others (dir)
     CallMF (dir)

  callmf.rexx
  CallTeXBrief.rexx
  CEDtofront.sd
  EmptyQueue.rexx
  Fax-Start.ced                    Fax-Start.sd
  menu.sd
  NextError.ced                    NextError.sd
  Quit_TeX.rexx
  Quit_TeX_Query.rexx
  README
  SDVItoFront.ced                  SDVItoFront.sd
  SpecialHost.rexx
  StartDVIprint.ced                StartDVIprint.sd
  Start_Tex.ced                    Start_Tex.ced
  TeX-Server.rexx
  TeX-Start.rexx
  TeXedit.rexx
  WBtoFront                        WBtoFront.sd

+ in 'TeXcnfDIR'  (siehe TeXmaticTNE.config, normal: TeX:config/ )

  CED_defaults.tex
  CED_macros.tex
  CED_RexxCommands.tex
  default.cnf
  DVIprint.fnt
  DVIprint.otherprinters           DVIprint.printers
  DVIprint.printers.doc            DVIprint_org.fnt
  FontVols                         FontVols_orig
  list.small                       README
  readme.cnf                       ShowDVI.config
  ShowDVI.fnt                      ShowDVI.help

  TeXmaticTNE  (globales Configfile für dieses Paket)

  tex.cnf                          TeX.cnf.floppy
  TeX.cnf.gross                    TeX.cnf.klein
  tex.pool  (wichtig!)

+ in TEXEXE (siehe ENV:TEXEXE , normal: TeX:s )

  dvi2fax
  Shell-Alias
  TeXBrief
  TeXBrief.shell

+ in 'comDIR' (siehe TeXmaticTNE.config , normal: EASys!_bin: )
  set
  ScreenToFront
  Insertkey

+ in ENV:  bzw. ENVARC: (Bsp. siehe in TeX:ENV (mitgeliefert))

  ENV:Dirs/TEXFORMAT
  ENV:Dirs/TEXEXE           Shell-Script-Verzeichnis für TeX
  ENV:Dirs/TEXREXX          Rexx-Script-Verzeichnis für TeX
  ENV:CED/rexx_CEdPort Enthält Bezeichnung des CED-REXX-Ports

****************************************************************************/

PARSE ARG GivenFileName

/* Vorbelegung der Variablen ... Default-ENV-Werte */

 MYconfigFILE='TeX:config/TeXmaticTNE.config'

 CR='0a'x

 StartPort_def='Start_TeX'
 CEDdir_def='c:'
 comDIR_def='EASys!_bin:'
 console_def='>"CON:0/111/606/64/TeX-Start: Message/CLOSE/WAIT"'
 Format_def='glplain'
 TeXbin_def='TeX:bin/'
 TeXcnfDIR_def='TeX:config/'
 VirTeX_def='VirTeX'
 Texts_def='Texte:'

 ToggleCEDMainDock= 'lshift f9'

 ToggleCEdDock_def = 'lshift f8'
 ToggleSDVIdock_def = 'lalt f8'
 CEDPubScr_def='CygnusEdScreen1'
 SDVIPubScr_def='ShowDVI-PubScr'
 CEDport_def='rexx_ced'   /* aus ENV: */
 sDVIport_def='showdvi'
 PrinterHi_def='NECP6'
 PrinterLo_def='NECP6draft'
 Tags_def='rt_reqpos=reqpos_topleftscr rt_leftoffset=200 rt_topoffset=50'
 EZtags_def=' '
 GLtags_def='rtgl_min=0 rtgl_max=1500 rtgl_backfill=true'
 GStags_def='rtgs_backfill=true'

 /* Wübbel-TeX */
 WUEformats='.!TeX:Macros'
 WUEmacros='.!TeX:MacroSource'
 WUEfonts='.!TeX:fonts!TeX:pk'
 WUEinputs='.!TeX:!TeX:styles!'Texts'!TeX:Inputs!TeX:MacroSource!TeX:Doc'

 /* Radical Eye TeX */
 REmacros='.,TeX:Macros'
 REformat='lplain'
 REinputs='.,TeX:,TeX:styles,'Texts',TeX:Inputs,TeX:MacroSource,TeX:Doc'
 REbibTex='TeX:BibTeXbase'

 /* PasTeX */
 PASformats='TeX:macros'
 PASmacros='.,TeX:,TeX:Styles,'Texts',TeX:Inputs'
 PASinputs='.,TeX:,TeX:styles,'Texts',TeX:Inputs,TeX:MacroSource,TeX:Doc'
 TeXpools='TeX:config/'

 /*
 *  Private Umgebung aus ENV:  lesen (bitte dort ablegen):
 *
 * Ausgehend von dem File ...
 * TeX:config/TeXmaticTNE.config  (größeres File mit allen wichtigen Einstellungen)
 *
 * ... wird eingelesen:
 *
 * ENV:TEXFORMAT    (enthält aktuelles TeX-Format, z.B. plain, lplain, glplain...)
 * ENV:CED/rexx_CEdPort  (Bezeichung des CEdPort's in REXX)
 *
  */

CALL ReadENV
CALL SetENVclip  /* Werte in Rexx-Clip für weitere Rexx-Prozesse speichern */
CALL SetDOSvars  /* gelesene Werte für TeX-ENV's setzen. */

OPTIONS RESULTS

CALL Openports
CALL CEDopen

Tags = Tags || " rt_pubscrname=" || CEDPubScr

SAY " "
SAY " "
SAY " Die TeX-Arbeitsumgebung wurde erfolgreich gestartet. "
SAY " Das Fenster wird nach Beendigung des Startvorgangs geschlossen."

IF (GivenFileName~=" " & EXISTS(GivenFileName)) THEN
 DO
  ADDRESS COMMAND 
    ''cedDIR'ed 'GivenFileName
    'wait' "1 secs"
 END
ELSE
 DO
  Begin = 1     /* Prüf-Flag, ob TeX wieder beendet werden soll */
  CALL Loop
 END

Begin = 0

CALL DateiResults
/* CALL SDVIopen */

IF ~EXISTS(FullPathDVI) THEN
 DO
  ADDRESS VALUE CEDport
  cedtofront

  IF EXISTS(FullPath) THEN
   DO
    okay1 " "FullPath"   zuerst durch TeX laufen lassen !! "

   END
  ELSE
   DO

    rtTitel = " Datei ..."
    rtText = " "FullPath" als neues TeX-Dokument anlegen ? "
    rtBtn0 = " Anlegen   |"
    rtBtn1 = " Abbrechen "
    rtDefault = " rtez_defaultresponse= 1 "
    rtTags = Tags || " " || EZtags || rtDefault

    Auswahl=rtezrequest(rtText, rtBtn0 || rtBtn1, rtTitel, rtTags, Auswahl)

    IF (1 = Auswahl) THEN
     DO
       ADDRESS VALUE CEDport
         Open Texts"work.tex"
         "Save as..." FullPath

     END
    ELSE
     DO
      IF (show('P', CEDport)) THEN
        DO
         ADDRESS VALUE CEDport
         'Quit'
        END

      IF (show('P', SDVIport)) THEN
        DO
         ADDRESS VALUE SDVIport
         'exit'
        END

      CALL ExitMe

      ADDRESS COMMAND
       'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

      EXIT 0
     END
   END
 END

/* CALL CEDenv */

IF show('P', sDVIport) THEN
 DO
  ADDRESS VALUE sDVIport
   setdir texdir
   loadnew FullPathDVI
 END


ENDE:
 CALL ExitMe
 EXIT 0

/*---------------------- TeX-Start intern ---------------------------------------
                         Openports
*/

Openports:
 if ~show('L','rexxsupport.library') then
  do
   if check = addlib('rexxsupport.library', 0, -30, 0) then
    do
     SAY " "
     SAY " TeX-Start=> Added rexxsupport.library"
    end
   else
    do
     SAY " "
     SAY " 'rexxsupport.library' konnte nicht geöffnet werden ! ...exiting"
     ADDRESS COMMAND
      'wait' "10 secs"
      'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

     CALL ExitMe
     EXIT 5
    end
  end

 if ~show('L','rexxreqtools.library') then
  do
   if check = addlib('rexxreqtools.library',5,-30) then
    do
     SAY " "
     SAY " TeX-Start=> Added rexxreqtools.library"
    end
   else
    do
     SAY " "
     SAY " 'rexxreqtools.library' konnte nicht geöffnet werden ! ...exiting"
     ADDRESS COMMAND
      'wait' "10 secs"
      'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

     CALL ExitMe
     EXIT 5
    end
  end

 if ~show('P', StartPort) then
  do
   myport = openport(StartPort)
   if (myport = 0) then
    do
     SAY " "
     SAY " TeX-Start: =>  "StartPort"  konnte nicht geöffnet werden ! ... exiting"
     ADDRESS COMMAND
      'wait' "10 secs"
      'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

     CALL ExitMe
     exit 5
    end
   SAY " "
   SAY " TeX-Start: =>  "StartPort"  geöffnet."
  end
 else
  do
    SAY " "
    SAY " TeX-Start: =>  "StartPort"  wurde bereits geöffnet."
  end
RETURN 1


CEDopen:
if ~show('P',CEDport) then
 do
  ADDRESS COMMAND
   ''cedDIR'ed 'Texts
   'wait' "1 secs"

  if ~show('P',CEDport) then
   do
    MsgText=" CED konnte nicht gestartet werden !!! ... exiting "
    CALL Message
    ADDRESS COMMAND
     'wait' "10 secs"
     'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

    CALL ExitMe
    EXIT 5
   end

  CALL Opennew
 END

 CALL CEDenv

 ADDRESS VALUE CEDport
    Cedtofront

RETURN 1


SDVIopen:
IF ~show('P',sDVIport) then
 DO
  address command
   'run >NIL: 'TeXbin'ShowDVI >RAM:callmf.sd -s 'Texts
   'wait' "1 secs"

  if ~show('P',sDVIport) then
   do
    MsgText=" ShowDVI konnte nicht gestartet werden !! ... exiting "
    CALL Message
    CALL Opennew /* evtl. aktive Datei nicht mit-verlassen */
    ADDRESS COMMAND
     'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

    CALL ExitMe
    EXIT 5
   end

    if ("NOSET" ~= ToggleSDVIdock) THEN
    DO
        ADDRESS COMMAND
        'run' '>NIL:' 'execute' 'T:TestSDVIdock.exe'
    END

 END
RETURN 1

Message:
 if show('P',sDVIport) then
  do
   ADDRESS VALUE sDVIport
    tofront
    okay1 MsgText
   RETURN 1
  end
 if show('P',CEDport) then
  do
   ADDRESS VALUE CEDport
    Cedtofront
    okay1 MsgText
   RETURN 1
  end
 ADDRESS COMMAND
  ''comDIR'ScreenToFront >NIL: Workbench 9'
  'echo 'console' "*n*n 'MsgText'"'
 RETURN 1

/*----------------------------------------------------------------------
*/

Loop:
 port=CEDport
 CALL PathSuffix
 IF (RESULT=0) THEN
  DO
   ag=1
   CALL GetTeXfile
   IF ag=0 THEN
    DO
     RETURN 1
    END
  END
 CALL AutoExpand
 RETURN 1


GetTeXfile:
 ADDRESS VALUE CEDport

 Cedtofront

 Getfilename Texts '"Edit: Bitte #?.tex auswählen ..."'
 FullPath=RESULT

 IF ((FullPath=" " | FullPath="RESULT" | FullPath="FULLPATH") & Begin=1) THEN
  DO
     ADDRESS COMMAND
      'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

     CALL ExitMe
     EXIT 0
  END

 CALL Opennew

 Open FullPath

 port=CEDport
 CALL PathSuffix
 IF RESULT=0 THEN
  DO
   ag=1
   Quit
   CALL GetTeXfile
   IF ag=0 THEN
    DO
     RETURN 1
    END
  END

 CALL AutoExpand
 ag=0
 RETURN 1


PathSuffix:
 CALL DateiResults
 CALL CEDenv

 IF (Datei="File?" | Datei=" " | FullPath="RESULT") THEN
  DO
    Cedtofront

    rtTitel = " Datei ..."
    rtText = " Eine TeX-Datei muß noch geladen werden... "
    rtBtn0 = " Laden     |"
    rtBtn1 = " Abbrechen "
    rtDefault = " rtez_defaultresponse= 1 "
    rtTags = Tags || " " || EZtags || rtDefault

    Auswahl=rtezrequest(rtText, rtBtn0||rtBtn1, rtTitel, rtTags, Auswahl)

    IF (0 = Auswahl) THEN
     DO
       IF (show('P', CEDport)) THEN
        DO
         ADDRESS VALUE CEDport
         'Quit'
        END

       IF (show('P', SDVIport)) THEN
        DO
         ADDRESS VALUE SDVIport
         'exit'
        END

       CALL ExitMe

       ADDRESS COMMAND
        'run >NIL: SYS:rexxc/rx 'TEXREXX'Quit_TeX.rexx'

      EXIT 0
     END
    ELSE
     RETURN 0

  END
 ELSE
  DO
   IF (sfxPath>0) THEN
    DO
     IF (UPPER(RIGHT(FullPath,4))='.TEX') THEN
       RETURN 1
    END
   CALL SwitchToFront
   okay1 " Die Datei muß .tex als Suffix haben ! "
   RETURN 0
  END
 RETURN 1


DateiResults:
 ADDRESS VALUE CEDport

  Status 19
  FullPath=RESULT

  sfxPath=LASTPOS('.',FullPath)
  IF (sfxPath>1) THEN
   DO
    FullPathTeX=LEFT(FullPath,sfxPath-1)".tex"
    FullPathDVI=LEFT(FullPath,sfxPath-1)".dvi"
   END

  Status 20
  texdir=RESULT

  Status 21
  Datei=RESULT
  DateiTeX=Datei

  sfxDatei=LASTPOS('.',Datei)
  IF (sfxDatei>1) THEN
   DateiDVI=LEFT(Datei,sfxDatei-1)

 IF show('P', sDVIport) THEN
  DO
    ADDRESS VALUE sDVIport
    getfile
        loadedfile = RESULT
    getdir
        loadeddir = RESULT
    getpage
        page = RESULT
  END

 RETURN 1


CEDenv:
 ADDRESS VALUE CEDport
 "Load Dos/ARexx commands" TeXcnfDIR"CED_RexxCommands.tex"
 "Clear definitions"
 "Load definitions" "TeX:config/CED_macros.tex"
 "Specify" "TeX:config/CED_defaults.tex"
 RETURN 1


Opennew:
 ADDRESS VALUE CEDport
 Status 17       /* Anzahl der Zeilen der aktuellen Datei im CED */
 Zeilen=RESULT   /* --> Open new ? */
 Status 18              /* Anzahl der Änderungen der aktuellen Datei im CED */
 Aenderungen=RESULT     /* seit dem letzten Speichervorgang */
 IF (Zeilen = 0 & Aenderungen = 0) THEN
   neu=0
 ELSE
  DO
   Open new
   neu=1
  END
 RETURN 1


AutoExpand:
 ADDRESS VALUE CEDport
 Status 72
 IF ~RESULT THEN   /* Auto-expand views?  nicht aktiv */
  DO
   "Auto-expand views?"
   /* "Beg of file" */
   "Auto-expand views?"  /* wieder deaktivieren */
  END
 ELSE
  DO
   /* "Beg of file" */
  END
 RETURN 1


SwitchToFront:
 ADDRESS VALUE port
 IF (port=CEDport) THEN
  Cedtofront
 IF (port=sDVIport) THEN
  tofront
 RETURN 1




ReadENV:
 IF EXISTS(MYconfigFILE) THEN
  DO
   Open(myFile, MYconfigFILE,'R')

   SAY " "
   SAY " Lese das Konfigurationsfile "MYconfigFILE" ..."
   SAY " --------------------------------------------------------------"
   CALL LineRead
   IF (RESULT) THEN StartPort=InhaltLine
   CALL LineRead
   IF (RESULT) THEN Texts=InhaltLine
   CALL LineRead
   IF (RESULT) THEN console=InhaltLine
   CALL LineRead
   IF (RESULT) THEN TeXbin=InhaltLine
   CALL LineRead
   IF (RESULT) THEN TeXcnfDIR=InhaltLine
   CALL LineRead
   IF (RESULT) THEN TeXprog=InhaltLine
   CALL LineRead
   IF (RESULT) THEN cedDIR=InhaltLine
   CALL LineRead
   IF (RESULT) THEN ToggleCEdDock=InhaltLine
   CALL LineRead
   IF (RESULT) THEN ToggleSDVIdock=InhaltLine
   CALL LineRead
   IF (RESULT) THEN CEDPubScr=InhaltLine
   CALL LineRead
   IF (RESULT) THEN SDVIPubScr=InhaltLine
   CALL LineRead
   IF (RESULT) THEN sDVIport=InhaltLine
   CALL LineRead
   IF (RESULT) THEN PrinterHi=InhaltLine
   CALL LineRead
   IF (RESULT) THEN PrinterLo=InhaltLine
   CALL LineRead
   IF (RESULT) THEN Tags=InhaltLine
   CALL LineRead
   IF (RESULT) THEN EZtags=InhaltLine
   CALL LineRead
   IF (RESULT) THEN GLtags=InhaltLine
   CALL LineRead
   IF (RESULT) THEN GStags=InhaltLine

   CALL LineRead
   IF (RESULT) THEN WUEformats=InhaltLine   /* Wuebbel TeX */
   CALL LineRead
   IF (RESULT) THEN WUEmacros=InhaltLine
   CALL LineRead
   IF (RESULT) THEN WUEfonts=InhaltLine
   CALL LineRead
   IF (RESULT) THEN WUEinputs=InhaltLine
   CALL LineRead
   IF (RESULT) THEN REmacros=InhaltLine     /* Radical Eye TeX */
   CALL LineRead
   IF (RESULT) THEN REinputs=InhaltLine
   CALL LineRead
   IF (RESULT) THEN REbibTeX=InhaltLine
   CALL LineRead
   IF (RESULT) THEN PASformats=InhaltLine   /* PAS TeX */
   CALL LineRead
   IF (RESULT) THEN PASmacros=InhaltLine
   CALL LineRead
   IF (RESULT) THEN PASinputs=InhaltLine
   CALL LineRead
   IF (RESULT) THEN TeXpools=InhaltLine

   Close(myFile)
  END

  Format  = mygetenv("TEXFORMAT")
  comDIR  = 'EASys!_bin:'
  CEDport = mygetenv("CED/rexx_CEdPort")
  TEXREXX = mygetenv("Dirs/TEXREXX")

  CALL CheckValues

 RETURN 1


CheckValues:

 IF "" = StartPort THEN StartPort = StartPort_def
 IF "" = Texts     THEN Texts     = Texts_def
 IF "" = console   THEN console   = console_def
 IF "" = TeXbin    THEN TeXbin    = TeXbin_def
 IF "" = TeXcnfDIR THEN TeXcnfDIR = TexcnfDIR_def
 IF "" = Virtex    THEN Virtex    = Virtex_def
 IF "" = cedDIR    THEN cedDIR    = cedDIR_def
 IF "" = ToggleCEdDock  THEN ToggleCEdDock  = ToggleCEdDock_def
 IF "" = ToggleSDVIdock THEN ToggleSDVIdock = ToggleSDVIdock_def
 IF "" = CEDPubScr      THEN CEDPubScr  = CEDPubScr_def
 IF "" = SDVIPubScr     THEN SDVIPubScr = SDVIPubScr_def
 IF "" = sDVIport       THEN sDVIport   = sDVIport_def
 IF "" = PrinterHi THEN DVIPhi = PrinterHi_def
 IF "" = PrinterLo THEN DVIPlo = PrinterLo_def
 IF "" = Tags   THEN Tags   = Tags_def
 IF "" = EZtags THEN EZtags = EZtags_def
 IF "" = GLtags THEN GLtags = GLtags_def
 IF "" = GStags THEN GStags = GStags_def

 IF "GIVES" = Format THEN Format = Format_def

 IF "GIVES" = CEDport THEN CEDport = CEDport_def

 RETURN 1


LineRead:
 start=0
 InhaltLine = READLN(myFile)
 SAY InhaltLine
 IF (InhaltLine~=" " & InhaltLine~="INHALTLINE") THEN
  DO
   start=POS('@',InhaltLine)  /* @ als Comment-Begin */
   IF (start>1) THEN
    DO
     InhaltLine=LEFT(InhaltLine,start-1)
     RETURN 1
    END
   ELSE
     RETURN 0
  END
 RETURN 0


GetFileName:
 IF EXISTS(specFile) THEN
  DO
   Open(myFile, specFile,'R')
    InhaltLine = READLN(myFile)
   Close(myFile)
   RETURN 1
  END
 ELSE
   RETURN 0


SetENVclip:                         /*  REXX-ENV Clipboard setzen    */
 setclip("TeXStartPort",StartPort)  /*  leider nicht ENV: kompatibel */
 setclip("TeXcomDIR",comDIR)
 setclip("TeXTextDIR",Texts)
 setclip("TeXmsgconsole",console)
 setclip("TeXbinDIR",TeXbin)
 setclip("TeXconfigDIR",TeXcnfDIR)
 setclip("TeXvirtex",TeXprog)
 setclip("TeXcedDIR",cedDIR)
 setclip("ToggleCEdDock",ToggleCEdDock)
 setclip("ToggleSDVIdock",ToggleSDVIdock)
 setclip("CEDPubScr",CEDPubScr)
 setclip("SDVIPubScr",SDVIPubScr)
 setclip("TeXRexxCEDport",CEDport)
 setclip("TeXRexxShowDVIport",sDVIport)
 setclip("PrinterHi",PrinterHi)
 setclip("PrinterLo",PrinterLo)
 setclip("Tags",Tags)
 setclip("EZtags",EZtags)
 setclip("GLtags",GLtags)
 setclip("GStags",GStags)
 RETURN 1


SetDOSvars:

 /* Executable Files */

 ADDRESS COMMAND
  'echo' '>T:OpenCEDMainDock.exe' '"if not exists ENV:Flags/Dock-CED*n ${RefTable/GUI-insertkey} 'ToggleCEDMainDock'*nendif*n"'

  'echo' '>T:TestCEDdock.exe' '"; testen, ob Toolmanager-CEDdock aktiv, falls nicht, einschalten*n; wird von TeX-Start.rexx aktualisiert.*nfailat 30*n"'
  'echo' '>>T:TestCEDdock.exe' '"EASys!_bin:ScreenToFront >NIL: CygnusEd 8*n${RefTable/WindowsManipulator} >NIL: *"TeX CED-Dock*" f*nif warn*n ${RefTable/GUI-InsertKey} 'ToggleCEDdock'*nendif*n"'

  'echo' '>T:TestSDVIdock.exe' '"; testen, ob Toolmanager-SDVIdock aktiv, falls nicht, einschalten*n; wird von TeX-Start.rexx aktualisiert.*nfailat 30*n"'
  'echo' '>>T:TestSDVIdock.exe' '"EASys!_bin:ScreenToFront >NIL: ShowDVI 7*n${RefTable/WindowsManipulator} >NIL: *"TeX SD-Dock*" f*nif warn*n ${RefTable/GUI-InsertKey} 'ToggleSDVIdock'*nendif*n"'

  'echo' '>T:CloseCEDdock.exe' '"; testen, ob Toolmanager-CEDdock aktiv, falls ja, ausschalten*n; wird von TeX-Start.rexx aktualisiert.*nfailat 30*n"'
  'echo' '>>T:CloseCEDdock.exe' '"EASys!_bin:ScreenToFront >NIL: CygnusEd 8*n${RefTable/WindowsManipulator} >NIL: *"TeX CED-Dock*" f*nif not warn*n ${RefTable/GUI-InsertKey} 'ToggleCEDdock'*nendif*n"'

  'echo' '>T:CloseSDVIdock.exe' '"; testen, ob Toolmanager-SDVIdock aktiv, falls ja, ausschalten*n; wird von TeX-Start.rexx aktualisiert.*nfailat 30*n"'
  'echo' '>>T:CloseSDVIdock.exe' '"EASys!_bin:ScreenToFront >NIL: ShowDVI 7*n${RefTable/WindowsManipulator} >NIL: *"TeX SD-Dock*" f*nif not warn*n ${RefTable/GUI-InsertKey} 'ToggleSDVIdock'*nendif*n"'

  /* nur für VirTeX & Co. (Wübbeling) */

  IF "NOSET" ~= WUEformats THEN
    ADDRESS COMMAND
        ''comdir'set TEXFORMATS='WUEformats

  IF "NOSET" ~= WUEmacros THEN
    ADDRESS COMMAND
        ''comdir'set TEXMACROS='WUEmacros

  IF "NOSET" ~= WUEfonts THEN
    ADDRESS COMMAND 
        ''comdir'set TEXFONTS='WUEfonts

  IF "NOSET" ~= WUEinputs THEN
    ADDRESS COMMAND 
        ''comdir'set TEXINPUTS='WUEinputs


  /* nur für RE-TeX (Radical Eye TeX) */

  /* Format muß hier zusätzlich per set gesetzt werden */
  ADDRESS COMMAND 
       ''comdir'set texformat='Format

  IF "NOSET" ~= REmacros THEN
    ADDRESS COMMAND
       ''comdir'set texmacros='REmacros

  IF "NOSET" ~= REinputs THEN
    ADDRESS COMMAND
       ''comdir'set texinputs='REinputs

  IF "NOSET" ~= REbibTeX THEN
    ADDRESS COMMAND
       ''comdir'set texbib='REbibTeX


  /* Ab hier für PAS-TeX Uni_Passau (Aktivierung siehe auch TeX:config/tex.cnf) */
  ADDRESS VALUE CEDport

  /* Format (wieder) ins ENV setzen (zur Sicherheit) */
    CALL MySetENV(TEXFORMAT, Format)

    IF "NOSET" ~= PASformats THEN
       CALL MySetENV(TEXFORMATS, PASformats)

    IF "NOSET" ~= TeXcnfDIR THEN
       CALL MySetENV(TEXCONFIG, TeXcnfDIR)

    IF "NOSET" ~= PASmacros THEN
       CALL MySetENV(TEXMACROS, PASmacros)

    IF "NOSET" ~= PASinputs THEN
       CALL MySetENV(TEXINPUTS, PASinputs)

    IF "NOSET" ~= TeXpools THEN
       CALL MySetENV(TEXPOOL, TeXpools)

RETURN 1


mygetenv: PROCEDURE /* when will ARexx supply GetEnv/SetEnv ? */
   PARSE ARG name

   IF open(TEMPFILE,"ENV:"||name,'r') THEN
    DO
     gives = readln(TEMPFILE)
     close(TEMPFILE)
    END
   ELSE
    gives = "GIVES"

   RETURN gives


MySetENV: PROCEDURE
   PARSE ARG name,content

   ADDRESS COMMAND
        "SetENV" name content

   RETURN


ExitMe:
   if "NOSET" ~= ToggleCedDock THEN
    DO
     ADDRESS COMMAND
      'run' '>NIL:' 'execute' 'T:TestCEDdock.exe'
      'run' '>NIL:' 'execute' 'T:OpenCEDMainDock.exe'
    END

   drop StartPort CEDport sDVIport comDIR Texts console TeXbin TeXcnfDIR Virtex cedDIR Format
   RETURN 1
