

		An X-Window system Port for MiNT


This is a port of the X-Window system (X11R5) for MiNT. Unfortunately, this
distribution contains only executables. There's still a lot of work to be done
to be able to distribute the full source code. Until shortly you could get the
original source code on ftp-server of the TU Darmstadt, but somehow they are
gone now. (This might have something to do with the fact that they have X11R6
there now?!) Anyway, you can find more fonts and documentation there.



Installation
============

1. Install mint-net and get a shell "sh".

2. Create a neu directory. In the following steps you must replace "$X11" with
   this directory.

3. Unpack the archive in "$X11". You will get the directories "$X11/etc",
   $X11/home and $X11/usr.

4. Create the directory "$X11/tmp".

5. Create the directory "$X11/bin" and put the shell "sh" in it.

6. Edit (or create) the file "mint.cnf": It should contain at least:
	CON=u:\dev\console
	PRN=u:\dev\console
	cd u:\
	setenv UNIXMODE /-ru
	setenv PATH /usr/local/bin/X11
	setenv HOME $X11/home
	sln $X11\bin u:\bin
	sln $X11\etc u:\etc
	sln $X11\usr u:\usr
	sln $X11\tmp u:\tmp
	exec $X11\bin\kbd
	exec $X11\pty\pty
	INIT=$X11\usr\local\bin\X11\xinit

7. Restart your computer. You should get a "xterm" and a "xclock".



The X-Server
============

The actual X-server is called "X". It should be invoked by "xinit" or "startx"
but can also be invoked directly. If you invoke the server directly, the
"DISPLAY" environment variable should be set to ":0".

The "/tmp" directory has to be on a minix-partition of your disk or you have to
invoke the server as "root". Otherwise you'll get an error like this:

    Binding Unix socket: access denied.


When the X-server starts, the program will print out an error message like

    Couldn't open RGB_DB '/usr/lib/X11/rgb'

You can safely ignore it. Sometimes you will also encounter a message like

    Unix domain socket /tmp/.X11-unix/X0 trashed, receating

This is because this file is supposed to be a socket and not a normal file. But
this shouldn't cause any other problems.

The server needs at least two fonts: "cursor" and "fixed". They can be found in
the "fonts" subdirectory. If you want to install more fonts, put them there
too.

The keyboard driver is called "kbd". Kbd installs a driver that puts the
scancodes in "/dev/scancode". You have to be "root" to do this. The only option
is "-n". This option causes the driver to pass on keyboard events to TOS, even
when another program gets them (i.e. when "/dev/scancode" is open).

You can kill the server with "CTRL-LSHIFT-ESC" immediately. However, running
applications aren't shutdown correctly (yet?).

The server doesn't use VDI. It accesses the display memory directly. Up to now
it only supports monochrome displays. You can only run TOS and X programs with
this server. You _cannot_ run GEM files!

The two mouse buttons on the Atari mouse play the roles of the first and third
mouse button on a normal X-mouse. You will probably be able to use the second
mouse button on three-button-mice that use "/dev/mouse" correctly.



Applications
============

You can set global application defaults in "/usr/lib/X11/app-defaults/*" and
personal user defaults in "~/.Xdefaults". The author's personal defaults file
is incuded as "home/.Xdefaults" in the distribution. The files in the
"usr/lib/X11/app-defaults" directory are the original system defaults.


xterm
-----

You need the "pty" driver to run xterm. With every invokation you will get two
ptys in "/dev/[pt]tty*". This can only be done as root. However, this driver
doesn't work reliably: the stty settings don't work.

Also, you'll need the "/etc/termcap" file. The original "termcap" file is
included in the distribution.

On the author's machine the "tcsh" shell crashed a couple of times (shortly
before the prompt came up). This was fixed by shortening the entry for "xterm"
in "/etc/termcap". But lately, it seems to work even without modifications.

There's a utility program called "resize" that re-sets the values of "COLUMNS"
and "LINES" when you have changed the size of your window.


twm
---

The "twm" configuration is determined by the contents of

    /usr/lib/X11/twm/system.twmrc

and also "~/.twmrc". The first should contain global definitions and the second
personal definitions that are preferred.

The files "{jim,keith,lemke}.twmrc" are the original twm files. "home/.twmrc"
is the authors configuration.


xinit
-----

This program sets up the X-server and then tries to call "~/.xinitrc" or
"/usr/lib/X11/xinit/xinitrc". If this fails you will get an "xterm".
"home/.xinitrc.orig" is the original file, "home/.xinitrc" is the file that the
author uses.

There's also a shell script "startx" that calls "xinit".


bitmap, atobm, bmtoa
--------------------

This program needs the "Bitmap" resource file and the corresponding bitmaps to
work.


x11perf
-------

The window of this application is a little smaller than normal, so that it fits
onto the author's screen. But if you test the program with images it crashes!



Bugs
====

- xdpyinfo outputs a wrong resolution
- keyboard auto-repeat doesn't work
- there's no colour support
- clients don't recognize (properly) when the server dies
- the cursor still flashes, even when X is running
- the program-flags aren't set correctly, so the programs can't use fast-ram



Author
======

Send comments and bug reports to

  Andreas Kirschbaum
  ank@rbg.informatik.th-darmstadt.de

or via snail mail:

  Andreas Kirschbaum
  Quellenstr. 5
  61118 Bad Vilbel
  Germany
