Subject: Re: Overview of XForms on 95/NT

From: David Miller <[email-masked]>
Date: Sun, 15 Feb 1998 12:24:55 -0800

T.C
	Looked over the overview I wrote, and have made several corrections,
and minor
additions.  Sorry to have not more completely check it before sending
it. I have attached an updated copy.  Hope this does not cause you to
much additional work.

David Miller

                         XForms on NT
                       By David W. Miller
                    ([email-masked])
---------------------------------------------------------------------------

	The following is a brief outline of setting up a unix like development
enviroment on MicroSoft NT operating system using the cygnus-win32 compiler
suite of tools, along with the necessary librarys and X server to run X
Window applications on the NT desktop.  The necessary software is generally
freely available, with some limitations, and has worked for the author on
NT/4.0.  The information presented here is not specific only to setting up
X Windows for use with the great XForms programming library by T.C. Zhao,
but was originally explored with that in mind.  Any errors or omitions are
those of the author.

-- Development Suite--
	Cygnus distributes a complete unix like enviroment targeted to the
Win32 platform.  It is a port of the well know GNU suite of tools, along with
the necessary dll's to fill in the functions common to unix, but lacking
in the Win32 API.  This distribution comes in two forms, a user only
enviroment, and a complete development enviroment.  I'll direct my comment to
the development enviroment, which contains the gcc compiler, gdb debugger,
a tcl frontend for gdb, tcl interpreter, bash-2.01, ect.
	The Cygnus Win32 development enviroment can be obtained via ftp from

ftp://ftp.cygnus.com/pub/gnu-win32/gnu-win32-b18/

Get file cdk.exe.  It's 13,729 KB, so downloading will take awhile. After
downloading, simply run the self extracting archive to install it.  Cygnus
uses Install Shield, so the software can be removed thru the start/setting/
control panel/add-remove software if desired.  I had several failures of
the file to properly extract, due to not enough free disk space for temp
files, but after freeing up some room, things worked fine.  Seems to need
alot of extra room.  After installing the cygnus suite, read the readme,
and set all of the enviromental variable ( watch the use of proper slashes in
path as noted in the readme), and create the necessary directories discussed
in the readme.  Test the installation some to be sure all of the parts
are working.  It's real helpful to add bash.exe to your program menus.

-- X Librarys --
	Next you need a set of X libs to link against.  There is a distribution
of X11R6.3 built with the cygnus-win32 suite and some patches located at

ftp://ftp.deninc.com/pub/ports/X11R6.3

Get file Wm32_X11R6_3.tar.gz, 7110 KB.

	Read the README-X11R6.3 file while downloading.  It is a wealth of
information and pointed me in the right directions.  There are some
links there which are not included here, as well as complete installation
instructions.  Briefly the procedure is: 
	Create the /usr directory, change to that directory and copy the file
Wm32_X11R6_3.tar.gz to /usr.  Using the bash shell untar the X library
distribution.  The necessary patches to run the compiled binaries are
in the directory /usr/X11R6.3/b18-patches.  Change to that directory, and
read the sergey.txt, and then run update.bat.  This will install the
patched version of the cygnus dll's.  After that the b18-patch directory
can be removed if desired.  Add /usr/X11R6.3/bin to your path statement
in the windows control panel.  
	The X Windows dirstribution does not come with an X server, Window
Manager, or xterm.  So the next step is to get an X server.
	There are some additional xclients at

ftp://microlib.cc.utexas.edu/microlib/nt/x11r6

-- X Server --
	You will need an X server to handle the actual display.  Not having alot
of money to throw at this project (as in none), the following list are
servers that are free of have a demo for evaluation.  Several of these
servers are quite resonably priced (IMHO).

MI/X X server from MicroImages
	Free distribution, copyright MicroImages
	http://www.microimages.com/freestuf/mix/download.html
	2 files
		getme1st.exe 332 KB
		file0001.bin 2,248 KB

A free, although somewhat limited server. I could not get fdesign to work
properly with this X server.  It comes with the twm window manager.

X-WinPro
	free demo with session time limit
	http://www.labf.com/xwpweb/
	Click the download button in the left frame panel, after the next
page loads, click the 32-bit button on the lower button panel, an
information form will come up, fill in the information panel.  A
download page will come up, click the "Download now" link.
	file xwpe.exe 4,687 KB

This is a nice X server, with a fairly inexpensive purchase price.
fdesign works well on this server.  This is my persional favorite.

Pexus Systems X-Deep/32 Version 3.0
	Free demos with session time limit, based on X11R6.1, comes with own
	Xlibs, twm window manager, and 40 clients.
	http://www.pexus.com/signeval.html
	You will have to fill in an information form, click "download" on
the returned page, and then select to download version
	file eval30.zip 3,400 KB Approx

I installed this in a seperate directory of it's own so it would not interfer
with the X11R6.3 distribution, and then created shortcuts to it, to start the
server.  This is a nice X server.

There are several other X servers available, but this should get you started.

-- Running X Clients --
Once all of the pieces are in place, from a bash shell, start up the X server.
Do this in the background, so you will be able to use the shell.  After the
server has started, to start an xclient,

xclient -display localhost:0.0 &

This will start the xclient, and send the display output to the default
display of the localhost.  Several xclients can be run on the same server.
After having gotten and installed the XForms distribution for cygnus-win32,
you should be able to

fdesign -display localhost:0.0 &

and have fdesign start up on the X server.

Once you have the routine down, write a shell script call startx to start
the X server, window manager, and which ever xclients you desire.  Make it
executable with chmod, and then it can be run from the bash shell to start
up an X session.  See the startx script with most any X windows distribution
to get a basic format for startx.

Several X server distributions came with no window manager, but the author
had no trouble compiling twm from source.