
Verion 0x0.0c Released Wed Dec  2 23:18:24 MST 1998;
from the fvwm virtual desktop (element 1,0) desktop of midendian on zeta.

--------------------
*** gtkFAIM 0.0c ***
-------------------- 

INTRO
-----

This is a clone of AOL's AIM client for communicating in a near-real-time
way between two members of the OSCAR/AIM service.  

It is meant to be a clean, fast, and relativly small clone of the AIM Java 
client for use on UNIX/UNIX-based systems (ie, Linux, *BSD, etc).  It is
currently only available with a grapical interface based on the GTK+ GUI
library for the X Windows System.  An ncurses-based console/text-only
version is planned, though.  (See 'RELATED PROJECTS' below if you have
other needs at the moment.)


THIS VERSION
------------

This version is extremely different than any previous release.  It's got
bunches of new features and changes.  It's better to just see it for yourself
instead of attempting a description.  

Because of brand new code to read the faimrc configuration files, the format
(rather semantics) have changed very minorly.  However, it will complain.
The easiest way to fix this is to turn off the readonly flag and run it (it
will automatically make the required changes).  

HOWEVER!  The code is not 100% stable and if it segfaults during the write,
YOU MAY LOSE THE FILE!  In this case, it may be possible to retrieve your
information from a backup file in ~/.faimrc.bak.  YOU HAVE BEEN WARNED!

If after doing this, you get all black font colors, check your faimrc.  It
may have been zeroed out during the write.  This is quite easily fixable.
The values should look like this:

	# background text color (NOT the background box)
	gtk.imsg_bgcolor ffffff
	# foreground text color
	gtk.imsg_fgcolor 020202
	# source SN text bgcolor
	gtk.imsg_src_bgcolor ffffff
	# source SN text fgcolor
	gtk.imsg_src_fgcolor 4444ff
	# dest SN text bgcolor
	gtk.imsg_dest_bgcolor ffffff
	# dest SN text fgcolor
	gtk.imsg_dest_fgcolor ff4444

On the whole, this release SHOULD be more stable.  Thanks to Thomas and Sab
for all the patches and basically doing this entire release.  There's a few
minor buglets, but it looks like they fixed most of my stupid mistakes.

**
** NOTE: The preferences dialog DOES NOT SAVE CHANGES IN THIS VERSION
**          ***UNLESS YOU SET THE readonly FLAG TO 0 IN FAIMRC***
**

After each release, always check the ChangeLog document to see specifically
what changed.  Let me know how it all works.  Also always check the latest
faimrc_sample to see if any of that changed!


FEATURES
--------

(this list is most likely very obsolete -- don't trust it)

Curent rack of working features:
  - Send/recieve instant messages
    - Basic (very basic) HTML parsing and interpretation (of tags and entities)
    - Interface similar to Java AIM's (one box per one SN)
  - Functional Buddy List
    - Buddy status maintained in as close to real-time as possible
    - Format similar to Java AIM's and is the most logical layout
  - Handles user information
    - Sends a user-specified profile to show other users
    - Can recieve user information (and profiles) for other users
        when possible
  - Implements all interfaces using the Gtk+ 1.[0-1] library.
  - Reads all run-time configuration options from a file 
    (~/.faimrc or ./faimrc)
  - Can execute any user-specified command on user events ("onfoo" 
    lines in faimrc)
    - Allows for playing sounds on incoming IMs, et cetera.
  - Many minor features that you'll probably never notice

Some things to do yet:
  - Away and auto-away functions (auto-response)
  - Extended HTML support (including hyperlink support)
  - Bug fixes
    - Stability fixes
  - User Location services support (finding SNs by name/email address, etc)
  - Run-time configuration changes
    - Modify buddy list at run time
    - Other configuration options changable at run-time (profile, events, etc)
  - AIM 2.0beta features (chat rooms, one-to-many broadcast,etc)
  - "IM" and "Info" buttons on buddy list window don't work in an always
    intuitive manner.
  - "Neighborhood Watch" features are still unimplemented (Zap, Block, etc)
  - Bug fixes


KNOWN BUGS / BUG REPORTS
------------------------

If you can reliably reproduce the bug, do a
   `./gtkfaim &> errorlog.txt` (in bash) 
and send me errorlog.txt.  This  information is critical if you want it to
get fixed.

*** Make sure you have it compiled with -Ddebug=10 before you do
*** that, or the output will not be helpful.

There's a bunch of bugs.  I know about most of them.  If you've got 
a wierd one, let me know.  afritz@delphid.ml.org  ("midendian" on AIM)

Specifically, if you can track down the bug that just causes it to
segfault for no aparent reason while it's doing seemingly nothing,
let me know.  I really can't debug that one.

FAIMRC
------

All post-compile-time configuration options are stored in a file either in
your home directory (~/.faimrc) or in the current working directory (./faimrc),
with the latter taking precedence over the former.

The format of faimrc hasn't changed in some time.  There have been options
added in the past few pre's though.  But there's major changes since 0.03final.
So, check out faimrc_sample make sure you don't want anymore of those
options and you're set. 

As of 0.03 final, if you start gtkfaim from a directory where a file called
'faimrc' exists, that will be used instead of the one if your home
directory.  You've been warned. (It certainly doesn't warn you!)

As of 0.08, the onlogoff action was added.  Also as of 0.08, you can make
an option specific to the gtkFAIM frontend by adding 'gtk.' in front of the 
option.  This is useful if you happen to use n's NAIM on the same account
you use gtkfaim with (for naim, instead of 'gtk.', you'd use 'naim.'). 

NOTE!: With every new release, make sure you check faimrc_sample and see if
anything new has been added.  

SOUNDS
------

You can optinally get the gtkfaim-sounds package where you got gtkfaim.  It
contains sounds and associated scripts for use with gtkfaim.  This is
completly optional.  You can also just write your own (it's not difficult).

Please note that this package has not changed with 0.03 final (and probably
never will).  It's very simple and really doesn't do much.  

You must have a /dev/audio in order to use the scripts.  Theoretically, you
can use the EsounD package to do this in a better way, but I've had no luck,
and I've gotten no success stories from anyone else.  

INSTALLATION
------------

Please refer to the INSTALL file.

RELATED PROJECTS
----------------

Several related AIM-cloning projects...

  n's NAIM frontend to FAIM; ncurses-based:
    http://users.n.ml.org/nc/naim/
   
    Written using the FAIM backend (same as gtkFAIM).  Not too far
    along yet, but is working quite nicely.

  Jae Jang's LAIM backend and cLAIM ncurses-based frontend client:
    http://www.angelfire.com/biz/majutsu/laim.html
 
    Written completely in C++.  LAIM backend is seperate making 
    graphical and other text-based clients possible in a very 
    simple way. 

  James Croall's OSCAR backend and client:
    http://www.foo.org/james/oscar/
 
    Client is completely text-based and each functionality is in a
    seperate executable linked by domain sockets.  Makes for some 
    interesting possibilities.  Has not been updated since mid-Jul 1998.

If you know of others, let me know.

ADMINISTRIVIA
-------------

For the latest information on gtkFAIM, the FAIM backend, and the status
on the AIM Protocol Specification, be sure to check out the appropriate
websites (listed below).

	General gtkFAIM/FAIM info: http://delphid.ml.org/faim/  
	AIM Protocol Info: http://delphid.ml.org/faim/protocol/

There's also the aim-clone mailing list.  Send a message containing 
	subscribe <your email address>
in the body to 
	aim-clone-request@delphid.ml.org
Currently, most discussing is development-related, but that may change
eventually.

af
afritz@delphid.ml.org 
