diff options
-rw-r--r-- | startx.cmd | 81 | ||||
-rw-r--r-- | xinit.def | 4 | ||||
-rw-r--r-- | xinitrc.cmd | 62 |
3 files changed, 147 insertions, 0 deletions
diff --git a/startx.cmd b/startx.cmd new file mode 100644 index 0000000..8e40750 --- /dev/null +++ b/startx.cmd @@ -0,0 +1,81 @@ +/* OS/2 REXX */ +/* $XFree86: xc/programs/xinit/startx.cmd,v 3.3 1996/10/17 15:23:47 dawes Exp $ + * + * 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. XFree86/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'\XFree86\lib\X11\xinit\xinitrc.cmd' +sysserverrc = x11root'\XFree86\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'\XFree86\bin\xinit' +xinit os_shell' /c 'clientargs' -- 'serverargs + +RETURN + +exists: + IF STREAM(arg(1), 'C', 'QUERY EXISTS') = '' THEN + RETURN 0 + ELSE + RETURN 1 diff --git a/xinit.def b/xinit.def new file mode 100644 index 0000000..a3273c6 --- /dev/null +++ b/xinit.def @@ -0,0 +1,4 @@ +NAME xinit NOTWINDOWCOMPAT +DESCRIPTION "@#XFREE86:4.2.0#@ $XFree86: xc/programs/xinit/xinit.def,v 3.2 2002/05/31 18:46:13 dawes Exp $" +PROTMODE +EXETYPE OS2 diff --git a/xinitrc.cmd b/xinitrc.cmd new file mode 100644 index 0000000..0e746a0 --- /dev/null +++ b/xinitrc.cmd @@ -0,0 +1,62 @@ +/* OS/2 REXX */
+/* $XFree86: xc/programs/xinit/xinitrc.cmd,v 3.5 1997/01/27 08:26:14 dawes Exp $ */
+'@echo off'
+env = 'OS2ENVIRONMENT'
+x11root = VALUE('X11ROOT',,env)
+IF x11root = '' THEN DO
+ SAY "The environment variable X11ROOT is not set. XFree86/OS2 won't run without it."
+ EXIT
+END
+home = VALUE('HOME',,env)
+IF home = '' THEN home = x11root
+
+userresources = home'\.Xresources'
+usermodmap = home'\.Xmodmap'
+sysresources = x11root'\XFree86\lib\X11\xinit\.Xresources'
+sysmodmap = x11root'\XFree86\lib\X11\xinit\.Xmodmap'
+xbitmapdir = x11root'\XFree86\include\X11\bitmaps'
+manpath = VALUE('MANPATH',,env)
+
+/* merge in defaults */
+IF exists(sysresources) THEN
+ 'xrdb -merge 'sysresources
+
+IF exists(sysmodmap) THEN
+ 'xmodmap 'sysmodmap
+
+IF exists(userresources) THEN
+ 'xrdb -merge 'userresources
+
+IF exists(usermodmap) THEN
+ 'xmodmap 'usermodmap
+
+/* start some nice :-) test programs */
+'xsetroot -bitmap 'xbitmapdir'\xos2'
+/* also try out the following ones:
+ * 'xsetroot -bitmap 'xbitmapdir'\xfree1'
+ * 'xsetroot -bitmap 'xbitmapdir'\xfree2'
+ */
+
+/****** WARNING! *********
+ * Below some programs are started minimized, some are started detached.
+ * In general, those that spawn other shells are minimized, others may be
+ * detached. You might be tempted to run the xterm's as well as detached.
+ * This works, but leaves you with an independent xterm/cmd pair, when the
+ * server shuts down, which you can only see in watchcat, not the process list.
+ * If you start and stop x11 multiple times, this will let you run out of
+ * PTYs, and will lead to a large number of background sessions.
+ */
+'detach xclock -update 1 -geometry 100x100-1+1'
+'start/min/n "Login Xterm" xterm -sb -geometry 80x25+0+0 -name login'
+IF manpath \= '' THEN
+ 'detach xman -geometry 100x100-105+1'
+/* 'startx/min/n "Xterm 1" xterm -sb -geometry 80x50+494+51' */
+/* 'startx/min/n "Xterm 2" xterm -sb -geometry 80x20+494-0' */
+'twm'
+
+EXIT
+
+exists:
+'DIR "'arg(1)'" >nul 2>&1'
+if rc = 0 THEN RETURN 1
+RETURN 0
|