/* WB-shortCuts Config saver see: EASys!:Config/$Language/PatchMenu.dat EASys!:Config/$Language/ToolsDaemon.menu */ OPTIONS RESULTS OPTIONS FAILAT 30 PARSE ARG module CALL DELAY(50) Language=GetClip('Language') IF ~EXISTS('EASys!:Config/'Language) THEN ADDRESS COMMAND 'makedir EASys!:Config/'Language IF SHOW('P','WORKBENCH') THEN DO SrcMP='PatchMenu.dat' SrcTD='ToolsDaemon.menu' END ELSE DO SrcMP='PatchMenu_OS31.dat' SrcTD='ToolsDaemon_OS31.menu' END IF EXISTS('EASys!:Config/'Language'/'SrcMP) THEN PrefsMP='EASys!:Config/'Language'/'SrcMP ELSE PrefsMP='EASys!:Config/english/'SrcMP IF EXISTS('EASys!:Config/'Language'/'SrcTD) THEN PrefsTD='EASys!:Config/'Language'/'SrcTD ELSE PrefsTD='EASys!:Config/english/'SrcTD ADDRESS COMMAND 'EASys!_bin:CLIexchange MultiNotify DISABLE' 'EASys!_bin:CLIexchange ToolsDaemon DISABLE' SELECT WHEN module='ToolsDaemon' THEN DO CALL DELAY(60) ADDRESS COMMAND 'copy s:ToolsDaemon.menu 'PrefsTD' CLONE QUIET' 'wbrun 'PrefsTD END WHEN module='PatchMenu' | module='ALL' THEN DO IF GetCdityStatus('PatchMenu') THEN DO ADDRESS COMMAND 'CLIexchange PatchMenu KILL' END ADDRESS COMMAND 'copy "'PrefsMP'" EASys!:Config/PatchMenu.dat CLONE QUIET' CALL DELAY(10) ADDRESS COMMAND 'wbrun EASys!_bin:PatchMenu' 'copy 'PrefsTD' s:ToolsDaemon.menu CLONE QUIET' 'wbrun 'PrefsTD END OTHERWISE NOP END ADDRESS COMMAND 'EASys!_bin:CLIexchange MultiNotify ENABLE' 'EASys!_bin:CLIexchange ToolsDaemon ENABLE' EXIT 0 /*----------------------------------*/ QuitCdity: PARSE ARG cdity,env,wintitle runs=GetCdityStatus(cdity) IF runs=1 THEN DO ADDRESS COMMAND 'EASys!_bin:CLIexchange 'cdity' KILL' IF ~(wintitle='') THEN CALL WinWaitQuit(wintitle) END ADDRESS COMMAND 'delete ENV:'env' FORCE QUIET' RETURN flag /*----------------------------------*/ GetCdityStatus: PARSE ARG cdity ADDRESS COMMAND 'CLIexchange >ENV:Flags/cdity_status 'cdity' INFO' running=MyGetENV('Flags/cdity_status') IF ~(running='') & ~(running='???') & POS(UPPER(cdity),UPPER(running))>0 THEN flag=1 ELSE flag=0 ADDRESS COMMAND 'delete ENV:Flags/cdity_status FORCE QUIET' RETURN flag /*----------------------------------*/ WinWaitQuit: PARSE ARG win IF LEFT(win,3)='>>>' THEN DO win=STRIP(win,'L','>') CALL DELAY(10) ADDRESS COMMAND 'SWindow >NIL: p p p p p 'win END DO FOREVER ADDRESS COMMAND 'SWindow >NIL: "'win'" f' IF RC=11 THEN LEAVE CALL DELAY(70) END RETURN /*----------------------------------------------------------------*/ MyGetENV: PROCEDURE PARSE ARG name TheFile="ENV:" || name IF (Open(fTmp, TheFile, 'read')) THEN DO ENVvalue=ReadLn(fTmp) r=Close(fTmp) END ELSE ENVvalue="???" RETURN ENVvalue