8 Using DOS/Merge 2.2 with XFree86

Contents of this section

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 "$@"
    

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter