Using DOS/Merge 2.2 with XFree86

Information for SVR4 Users : Using DOS/Merge 2.2 with XFree86
Previous: Building non-core clients with SVR4
Next: Keyboard mapping problems with some Esix systems

## 7. Using DOS/Merge 2.2 with XFree86

It is possible to use the Locus DOS/Merge 2.2 X clients with XFree86. You need to do a couple of things for this to work, though. One change is a generic problem with the X client and X11R5/6; the others are to work with some things that are specific to the XFree86 servers. Here are the things you need to do:

1. Set and export `$XMERGE` in your `.xinitrc` and/or `.xsession` files. In general, you should set `XMERGE=vga`.
2. You MUST use the "xqueue" driver instead of the server's native keyboard and mouse driver, if you intend to use the "zoom" feature of the `dos' client. Otherwise the mouse will cease to function after the first time you "zoom" (because the `dos' client uses the native driver, and the server will not be able to access the mouse after the zoom ends). The only other alternative is to use separate mice on separate devices.
3. You need to install the `dos' client fonts in the XFree86 font directories. Locate the BDF files (search for files with names matching the pattern `*pc???.bdf'). These will likely be `/usr/lib/X11/fonts/misc`. Go to the directory where these files are located, and execute the following (using `sh' or `ksh'):

       	for i in *pc???.bdf
       	do
       	    /usr/X11R6/bin/bdftopcf $i > \
       			/usr/X11R6/lib/X11/fonts/misc/`basename $i .bdf`.pcf
       	done
       	cd /usr/X11R6/lib/X11/fonts/misc
       	/usr/X11R6/bin/mkfontdir
       	# Do this only if the server is already running.
       	/usr/X11R6/bin/xset fp rehash

4. The `dos' client program uses a translation table to map from an internal key representation to the X keymap. It is likely that the table supplied with Merge 2.2 use the mapping for SCO's server. A correct mapping table is available in `/usr/X11R6/lib/X11/etc/xcode.xfree86`. This file should be installed in `/usr/lib/merge/xc`. In addition, you must add the following resource to the `dos' client's application-defaults file (usually in `/usr/lib/X11/app-defaults/DOS`):

       	dos*xcodetable: /usr/lib/merge/xc/xcode.xfree86

   It will be obvious if this new code table is needed, as the arrow keys on the keypad will fail to function in the `dos' client if the wrong table is installed.
5. For the "zoom" feature to work correctly, you must run `dos' with $DISPLAY set to "unix:N" or "host_name:N". If you use just ":0", the client will not function properly. `dos' does not accept a `-display' parameter. Hence it is probably a good idea to replace the `dos' program with something like this:

       	#!/usr/bin/ksh
          	if [ "X${DISPLAY}" != "X" ]
          	then
       		case ${DISPLAY} in
       		:*)
       			DISPLAY=unix${DISPLAY}
       			;;
       		esac
       	fi
       	/usr/bin/dos.real "$@"

Information for SVR4 Users : Using DOS/Merge 2.2 with XFree86
Previous: Building non-core clients with SVR4
Next: Keyboard mapping problems with some Esix systems