GTKeyboard Installation
David Allen - s2mdalle@titan.vcu.edu
http://opop.nols.com

TOC: 
I.   The quick-quick I'm really impatient method
II.  The real method - mentions some things you should look into.  (not long)
III. Static binaries
IV.  RPM/Package building

Current installation methods of GTKeyboard take up slightly less than
1/2 MB of disk space.  This assumes compilation without debugging
symbols, and dynamic linking.  Static linking and/or compiling with
debugging symbols greatly increases the disk space needed.

-----------------------------------------------------------------------------
I.  The quick-quick method.

1.   Go into the directory where the source is.
2.   Type "./configure"
	-- If you want to debug GTKeyboard, find the CFLAGS variable in the 
	   Makefile, and tack "-g" on the end.
3.   Type "make"
3.1: Edit the Makefile and change the binary installation location to where
     you want it - otherwise the binary goes to /usr/bin/  DOCDIR which is
	 where the documentation goes is by default /usr/doc/gtkeyboard-$(VERSION)/
4.   Type "make install"
5.   Check the permissions on your .gtkeyboardrc.  If you su'd to root to 
     do make install, then when it installs, root will own it.  You probably
     want to edit it, so change that.
6.   Run it.  (type "gtkeyboard")

-----------------------------------------------------------------------------
II. The real version

If you want support to write to certain devices, please edit the appdefs.h
file to support what you would like.  If the devices listed are not the
devices you need for those services, please change them or refrain from 
using the output menu.  Currently printing at /dev/printer, the console
at /dev/console, and a regular temp file at /tmp/GTKeyboard are supported
through the Output menu.

Before you run make install, take a look at the Makefile and change
anything that you want to, most notably, where the binary goes, which
defaults to /usr/bin/

Also, you might want to take a look at makeshift.h which is generated at
make time.  It contains the absolute paths to a few applications that
GTKeyboard can optionally launch if you want it to.  If you make them
relative pathnames, they should still execute correctly, (if your
$PATH is good) but that's really not that wise for security reasons.
Try to stick to absolute pathnames so you don't have to worry about
security issues or about your $PATH.

To install GTKeyboard - just type make in the top directory for
GTKeyboard.  I've been working on getting the program to compile more 
smoothly on more machines, and most people should be ok, but if you 
have problems compiling it on a certain platform, please email me and
I'll see what I can do with the codebase to fix it for that platform.

After the package is done compiling, the executable is going to be
called gtkeyboard.  You can type "make install" to install the package
to /usr/local/bin.


-----------------------------------------------------------------------------
III. Static Binaries

If you want to build a static binary, (and I can't imagine why you would want
to because a shared binary is MUCH smaller) all you have to do is type 

"make static"

AFTER you copy your static gtk, glib, and gdk libraries into the foo directory
that came with this package.  You need to have foo/libglib.a
foo/libXmu.a foo/libgtk.a and foo/libgdk.a in order for it to compile
a statically linked binary properly.  I didn't include those files in
here for reasons that are in foo/README.  There is also a makefile
target, "make obscure" to copy the libs over, but that's only if you
have them in a very "normal" place. I didn't do any configuration work
to search all over your drives for those files.  That target will copy
the library files from where they should be on MY machine.  :)

-----------------------------------------------------------------------------
IV.  RPM/Package Building

In the rpm/ subdirectory of the source distribution, you will find a
common .spec file for use with packaging GTKeyboard as an RPM.  Also
in that directory is information on how to build the RPM, what
commands to issue, and so on.

In terms of other packaging programs such as Debian's .deb package and
Stampede Linux .slp packages, I do not know of anyone actively
maintaining such packages, nor do I make them myself. Sorry.

-----------------------------------------------------------------------------

Sorry if the documentation is a bit sparse at this point, it's never
been my strong point.  Any comments/constructive criticism is
appreciated.  If anything is needed or desired in this program, do not 
hesitate to email me at s2mdalle@titan.vcu.edu and let me know.  I'll add it
in as soon as possible.

-- David Allen s2mdalle@titan.vcu.edu http://opop.nols.com/




