/* OS/2 REXX */ /* * This is just a sample implementation of a slightly less primitive * interface than xinit. It looks for user xinitrc.cmd and xservrc.cmd * files, then system xinitrc.cmd and xservrc.cmd files, else lets xinit choose * its default. The system xinitrc should probably do things like check * for Xresources files and merge them in, startup up a window manager, * and pop a clock and serveral xterms. * * Site administrators are STRONGLY urged to write nicer versions. */ '@echo off' ADDRESS CMD env = 'OS2ENVIRONMENT' x11root = VALUE('X11ROOT',,env) IF x11root = '' THEN DO SAY "The environment variable X11ROOT is not set. X/OS2 won't run without it." EXIT END home = VALUE('HOME',,env) IF home = '' THEN home = x11root os_shell = VALUE('X11SHELL',,env) IF os_shell = '' THEN os_shell = VALUE('SHELL',,env) IF os_shell = '' THEN os_shell = VALUE('OS2_SHELL',,env) IF os_shell = '' THEN DO SAY "There is no command interpreter in OS2_SHELL ???" EXIT END userclientrc = home'\xinitrc.cmd' userserverrc = home'\xservrc.cmd' sysclientrc = x11root'\usr\X11R6\lib\X11\xinit\xinitrc.cmd' sysserverrc = x11root'\usr\X11R6\lib\X11\xinit\xservrc.cmd' clientargs = '' serverargs = '' IF exists(userclientrc) THEN clientargs = userclientrc ELSE IF exists(sysclientrc) THEN clientargs = sysclientrc IF exists(userserverrc) THEN serverargs = userserverrc ELSE IF exists(sysserverrc) THEN serverargs = sysserverrc whoseargs = "client" PARSE ARG all DO i=1 TO WORDS(all) cur = WORD(all,i) IF \(FILESPEC('DRIVE',cur) = '') THEN DO IF whoseargs = "client" THEN clientargs = cur ELSE serverargs = cur END ELSE IF cur = "--" THEN whoseargs = "server" ELSE IF whoseargs = "client" THEN clientargs = clientargs' 'cur ELSE serverargs = serverargs' 'cur END xinit = x11root'\usr\X11R6\bin\xinit' xinit os_shell' /c 'clientargs' -- 'serverargs RETURN exists: IF STREAM(arg(1), 'C', 'QUERY EXISTS') = '' THEN RETURN 0 ELSE RETURN 1