Gaim: The Pimpin' Penguin IM Clone Thats Good For The Soul

1. Compiling and Installing

         1.1.  What does "Gaim" stand for?
         1.2.  Why can't I compile Gaim?
         1.3.  I'm trying to install Gaim, but it complains that I don't have
               libgtkspell.so.0, from where can I get this?
         1.4.  What do I need to use the SILC protocol?
         1.5.  Is there some way I can compile just Gaim, without all of these
               protocols?
         1.6.  I installed a new version of Gaim, but the about window says I'm
               still using the old version.
         1.7.  Are the packages signed? If so, by who, and how can I get the
               key?
         1.8.  Can I use Gaim for GTK+1.2?
         1.9.  Can I run Gaim on IRIX?
         1.10. How do I apply the patch "something.diff"?
         1.11. Why is gaim crashing when I start it?
         1.12. Gaim <non-current version> is buggy. Gaim CVS is buggy. Why?
         1.13. Why do you always say not to use CVS?

2. Using Gaim

         2.1.  How do I register for a new account?
         2.2.  How do I use AIM, MSN, Yahoo!, Jabber, ICQ, or any other
               protocol?
         2.3.  How do I change the font Gaim uses?
         2.4.  How do I make gaim use emacs-like keybindings?
         2.5.  How do I use smiley themes?
         2.6.  Why are the status icons so big?
         2.7.  How do I get sound to work correctly?
         2.8.  How do I make Gaim use ALSA or OSS for playing sounds? What does
               the "Automatic" option do?
               Why does Gaim use the same WM_CLASS for every window? It makes
         2.9.  it impossible to control window size and placement for the buddy
               list separately from the conversations.
         2.10. What is a "Buddy Pounce"?
         2.11. Where does gaim store its logs?
         2.12. Can I use Gaim for e-mail, blogging, an RSS feed, or something
               else that isn't IM-related?

3. Features

         3.1. Does Gaim support file transfer?
         3.2. Is there a Gaim tray icon, or docklet, or gnome applet, or panel
              icon, or something?
         3.3. What do those colors in the conversation tab mean?
         3.4. Will Gaim save my buddy list to the server?
         3.5. Can I import or export my buddy list?
         3.6. Does Gaim support animated smileys?
         3.7. Can I make Gaim group screen names by the person that owns them?
              You know, like Trillian's Meta Contacts?
         3.8. How do I get the old logging back?
         3.9. How can I convert my old logs to the new format?

4. ICQ Protocol

         4.1. How do I use ICQ?
         4.2. Can I send SMS messages?

5. TOC Protocol

         5.1. What is the TOC protocol?

6. AIM/ICQ (OSCAR) Protocol

         6.1.  Can I set my profile?
         6.2.  Can I set a buddy icon?
         6.3.  Some of my buddies are not showing up as online, why is that?
         6.4.  Can I use AIM URI's such as "aim:goim?screenname=robflynn"?
         6.5.  I just changed my buddy icon, and I can't see the new one.
         6.6.  Does Gaim support DirectIM and IM Image?
         6.7.  Can I send SMS messages?
         6.8.  Can I add SMS numbers to my buddy list?
         6.9.  I heard AOL is combining ICQ and AIM, does that mean I can send
               a message from an AIM account to an ICQ account and vice-versa?
         6.10. Why can't I connect via either Oscar or TOC?

7. IRC Protocol

         7.1. How do I join a channel with the IRC plugin?
         7.2. Is there a way to make Gaim automatically identify me and/or join
              IRC chats on login?

8. Jabber Protocol

         8.1. How do I choose which Jabber server to use?
         8.2. How do I change my Jabber resource to be other than the default
              of "/Gaim"?
         8.3. How do I register a new Jabber account?
         8.4. How do I use invisibility?
              I've a buddy that I keep removing from my buddy list but the
         8.5. entry keeps coming back every time I log in again! How can I stop
              this?
         8.6. Can I remove a buddy from my Jabber roster entirely?
         8.7. What does "Cancel Presence Notification" do?

9. Y!M (Yahoo) Protocol

         9.1. I cannot connect to yahoo!

10. MSN Protocol

         10.1. I'm getting lots of "Already in Opposite list" errors on msn,
               why?
         10.2. Is there a way to invite more than one person to an MSN chat?
         10.3. Is MSNP9 (MSN6) going to be supported?
         10.4. Will I be able to use Gaim for MSN after October 15th 2003? (The
               day they're preventing third party clients from connecting)
         10.5. I just upgraded Gaim and the MSN plugin will not load. Why?
         10.6. The MSN plugin won't load, but I have Mozilla NSS!
         10.7. What does "MSN: S: 911 3" in the debug window mean when I cannot
               connect to msn?

11. Gadu-Gadu Protocol

         11.1. What is Gadu-Gadu?
         11.2. Why doesn't it work right?

12. Zephyr Protocol

         12.1. What is Zephyr?
         12.2. Other Zephyr clients (zwgc,owl,tzc) work, but gaim dies with
               "Couldn't initialize zephyr".
         12.3. Gaim isn't working, but I never got any other zephyr client
               working on this machine.

13. Trepia Protocol

         13.1. I heard Trepia was going to be in 0.65. Where is it?
         13.2. Trepia is showing people in Japan, England, etc. on my buddy
               list. I thought this was supposed to show people in my area?

14. SILC Protocol

         14.1. What is SILC?

15. Novell Protocol

         15.1. Are there any public servers for Novell?
         15.2. I can't seem to get it to work.

16. Scripts and Plugins

         16.1. How do I use perl scripts with Gaim?
         16.2. How do I compile a plugin for Gaim?
         16.3. I have a plugin or perl script for Gaim that does not work with
               0.60 or higher.
         16.4. Where can I find documentation on writing plugins and Perl
               scripts?

17. Development

         17.1. Can I help?
         17.2. Gaim never leaves a core file.
         17.3. Where should I report bugs?
         17.4. Where should I submit patches?
         17.5. Did you guys reverse engineer it?

18. Misc. Questions

         18.1. Can I IM you guys?
         18.2. Hello?
               Can I give you money/hardware/other expensive things that can be
         18.3. hocked for cash what with you all being students/
               full-time-workers and helping to produce this wonderful software
               instead of studying/sleeping?
         18.4. Does Gaim support secure instant messaging (encrypted IMs)?
         18.5. Why are the passwords in accounts.xml not encrypted?
         18.6. What is gaim-remote?
         18.7. When will the next version of Gaim be released?

+------------------------------------------------------------------------------
| 1. Compiling and Installing
+------------------------------------------------------------------------------

1.1  What does "Gaim" stand for?

  For freedom! No, seriously, it doesn't stand for anything. It's our name and
  we're sticking to it. The two acceptable forms of capitalization are "Gaim"
  and "gaim" (and not "GAIM").

1.2  Why can't I compile Gaim?

  Make sure you have relatively recent versions of automake, autoconf, and
  gettext. HOWEVER, generally speaking, having the absolute newest of them is
  not as good as having one version short of newest since we might not have
  found work-arounds for the latest set of changes. Also, some versions of
  automake require certain ranges of gettext versions, and we are utterly
  unable to keep track of what versions will work with what other versions.

  If you have Slackware < 9.1, you need to get non-slack packages for autoconf,
  automake, gettext, and libtool. You also have to copy the contents of /usr/
  local/share/aclocal to /usr/share/aclocal. This is due to bugs in Slackware
  and the auto* packages.

  *BSD users may also have problems with libtool and will also have to remove
  the --no-verify from the configure script.

  Having problems getting SSL and MSN working? See http://gaim.sf.net/
  faq-ssl.php for distribution specific hints.

1.3  I'm trying to install Gaim, but it complains that I don't have
     libgtkspell.so.0, from where can I get this?

  libtgtkspell.so.0 is provided by gtkspell. This library is used by Gaim to
  provide the "Highlight misspelled words" feature. You can find an RPM of
  gtkspell at freshrpms.net. You can find the source and a non-Red Hat specific
  RPM at gtkspell.sourceforge.net.

1.4  What do I need to use the SILC protocol?

  You need to install the SILC toolkit (http://silcnet.org/software/download/
  toolkit/) and the Gaim SILC plugin. This plugin is generally provided as a
  separate package (such as a gaim-silc RPM). If you're compiling yourself, see
  the ./configure --help for specifying the SILC includes and libs. If you're
  compiling an SRPM, use "--with silc" to build the gaim-silc RPM.

1.5  Is there some way I can compile just Gaim, without all of these protocols?

  Yeah. There are actually three ways to do it.

   1. Use the --with-static-prpls option to ./configure along with
      --disable-plugins. This will let you choose which protocols are compiled
      in with Gaim, but you will not be able to use any other protocols or
      plugins.

      You'll need to compile any protocols that you specified in
      --with-static-prpls. Oscar and TOC are defaults.

   2. Use the --with-dynamic-prpls option to ./configure

   3. Change to the directories for the protocols you want to compile (e.g. src
      /protocols/jabber), and run make from there. Then after you've compiled
      all of them, change back to src/ and run make gaim.

1.6  I installed a new version of Gaim, but the about window says I'm still
     using the old version.

  If you compiled yourself, and you previously had an rpm or a Debian package
  installed, you need to remove that first. rpm -e gaim or dpkg -p gaim should
  work.

  Likewise, if you want to use an RPM or deb and you have previously compiled
  Gaim from source, you need to make uninstall to remove all Gaim files from /
  usr/local.

1.7  Are the packages signed? If so, by who, and how can I get the key?

  Yes, all packages are signed. The signature for the tarball and bzip2 archive
  are provided by separate downloads. The RPMs we provide are signed by either
  Ethan Blanton, Mark Doliner, or Christian Hammond. Usually the Mandrake and
  Fedora Core 1 RPMs are signed by Mark Doliner and the Red Hat 8 and 9 RPMs
  are signed by Ethan Blanton. The keys can be obtained from any key server.
  http://pgp.mit.edu/ is popular.

1.8  Can I use Gaim for GTK+1.2?

  As of version 0.60, Gaim has been completely converted to using GTK+2.0. We
  really really really recommend using the most current version of Gaim and not
  a GTK+1.2 version of Gaim. However, if you are living in the '90s, or you're
  afraid GTK+2.0 will insult your mother, you can use Gaim 0.59.9, which is the
  last version of Gaim that used GTK+1.2. We should warn you though, this
  version of Gaim hasn't had any new features since the middle of 2002, and
  some protocols likely do not work. Also, the 0.59.x releases aren't
  breathtakingly beautiful.

1.9  Can I run Gaim on IRIX?

  It has been done before. Please see http://sourceforge.net/forum/forum.php?
  thread_id=725839&forum_id=665 at our SourceForge Forum.

1.10  How do I apply the patch "something.diff"?

  Type patch -p0 < something.diff from inside the gaim directory. If that
  doesn't work, try patch -p1 < something.diff.

1.11  Why is gaim crashing when I start it?

  First of all make sure you are using the most recent version of Gaim. If you
  still have problems, try the following:

    * Make sure only one version of Gaim is installed. "whereis gaim" can
      sometimes be useful for determining this.
    * "export GDK_USE_XFT=0" in a terminal and then run Gaim from the same
      terminal.
    * If gaim is not crashing, but is just sitting there not displaying
      anything, try turning off anything else that might be using the sound
      device (ie xmms) and then starting gaim. If this fixes the problem, it is
      a libao issue, not a gaim issue, and can be worked around by the use of
      esd or arts.
    * Try disabling or deleting any 3rd party plugins, especially anything
      related to encryption.
    * If you use 0.75 or higher on win32, try deleting tcl.dll.
    * If you have ever installed 0.65, edit your ~/.gaimrc, changing your auto
      away preference from -1 to 0.

1.12  Gaim <non-current version> is buggy. Gaim CVS is buggy. Why?

  Non-current versions have old bugs which may be fixed in the current
  version--that's why we make new releases. CVS is frequently unusable because
  of changes in the code. Bugs are introduced during the development process
  and are hopefully fixed before a release is made.

1.13  Why do you always say not to use CVS?

  That's a long story. For starters, see the previous question. It is often the
  case that Gaim CVS exhibits bad behavior due to features and bugfixes which
  are in a transitory state or which are not yet well understood. These bad
  behaviors range from the harmless (maybe a graphical glitch in a dialog box)
  to the irritating (a particular protocol may not work), to the downright
  damaging (recently a bug in CVS destroyed the user's buddy lists). While
  behaviors like this are acceptable to some users (particularly developers,
  who are used to such things), they tend to cause many Gaim CVS users to
  contact Gaim developers and report the same (usually egregious) bug over and
  over - using time which could be better spent fixing the bugs.

  A second major point involves public resources - a CVS checkout is not a
  cheap operation. As many Sourceforge users are aware, at various points in
  the recent past Sourceforge CVS has been less than pleasant to work with.
  This is, of course, because Sourceforge hosts dozens and dozens of useful and
  active projects which use CVS as a primary method of source code
  collaboration. Unfortunately, when too many users are poking around in that
  CVS just for the sake of poking around, it prevents other users who are
  trying to do work to improve those very same projects from accomplishing
  their tasks. It is better for the community if an enterprising individual
  wishing to fix a particular bug she has seen can get to the code and create a
  patch, even if this means that some users have to wait a few weeks for the
  next release to see what new features it might hold.

  The third point is not a problem which has yet come up, but it is in the back
  of the mind of the developers who bring you Gaim. As a third-party IM client,
  Gaim is not a priority (and indeed may be an irritant) for the IM service
  providers. We do our best to keep Gaim playing nice and being friendly on the
  IM networks it uses; however, at times there are bugs in the protocol
  support. If a few dozen people are using this buggy client, the IM providers
  are not likely to go out of their way to do anything about it. However, if
  hundreds of people are pointing an ill-behaved client at an IM server, the
  server administrators may be forced to take action. (This is particularly
  likely if the buggy behavior is damaging in some way.) Gaim releases
  represent code which the gaim developers feel is relatively well-behaved and
  stable. This includes not only the interface seen by Gaim users, but the
  traffic seen by IM service providers. Gaim CVS bears no such guarantees.

  In short, there are a lot of good reasons to not use Gaim CVS if one does not
  wish to develop Gaim, Gaim plugins, or a codebase which interacts with Gaim
  in some intimate way. There are, however, only a few reasons to use Gaim CVS
  outside of the above. Please weigh these things carefully and decide whether
  you wish to use Gaim CVS for a good reason which furthers the community, or
  for selfish reasons which are not entirely important.

+------------------------------------------------------------------------------
| 2. Using Gaim
+------------------------------------------------------------------------------

2.1  How do I register for a new account?

  This depends on the protocol.

  AIM: Go to http://my.screenname.aol.com/_cqr/login/login.psp?siteId=
  snshomepage&authLev=1&mcState=initialized&createSn=1.

  MSN (including Hotmail email): Go to http://registernet.passport.com/.

  MSN (using your own email address): Go to https://register.passport.net/
  reg.srf?lc=1033&id=486&ru=
  http%3A%2F%2Fwww%2Epassport%2Enet%2FConsumer%2FDefault%2Easp%3Flc%3D1033&sl=1

  Yahoo: Go to http://edit.yahoo.com/config/eval_register.

  Jabber: See the question How do I register a new Jabber account? below.

  ICQ: Go to http://web.icq.com/register.

  Gadu-Gadu: Use the official client to create an account.

  Novell: See your Novell server administrator.

2.2  How do I use AIM, MSN, Yahoo!, Jabber, ICQ, or any other protocol?

  Use the Account Editor (Tools->Accounts, or the Accounts button on the start
  screen) to add the account of the appropriate messaging service. Use the
  checkbox in the account editor to sign online.

2.3  How do I change the font Gaim uses?

  The font preference in Gaim is used only for the formatting of outgoing
  messages. The display fonts used by the rest of Gaim are those specified by
  GTK. To change this font you need to edit your ~/.gtkrc-2.0 file. If you need
  help you can see our example .gtkrc-2.0 (http://gaim.sf.net/gtkrc-2.0) file.

  You can also just switch to a different GTK theme. You can find GTK themes
  (and information on using them) by visiting themes.freshmeat.net,
  art.gnome.org, or searching on Google.

  If you're having a problem with the font size used by a specific person, you
  can try turning on the Ignore Font Sizes preference in Preferences->Message
  Text.

2.4  How do I make gaim use emacs-like keybindings?

  You need to edit your ~/.gtkrc-2.0 to contain the keybindings line from http:
  //gaim.sf.net/gtkrc-2.0.

2.5  How do I use smiley themes?

  To select a theme, open Gaim's preferences to the "Smiley Themes" page and
  click on whichever theme you want to use. To install a theme, simply drag it
  into the theme selector. You can find themes on the Gaim Smiley Themes (http:
  //gaim.sf.net/themes.php) page.

  You can also install themes manually by uncompressing them to their own
  directory in ~/.gaim/smileys/

2.6  Why are the status icons so big?

  We believe that, by adding a second line of text to each buddy list entry,
  we're able to show more information about each buddy on the buddy list. The
  'Big List,' as we call it, shows status text, idle time, and warning level
  concisely and attractively. It shows more than one status "emblem" for each
  buddy, indicating at the same time a mobile user who is away. Most
  importantly, it puts the buddy icon in the list, making it far easier to
  locate buddies within a large list where names are harder to pick out than
  images. Due to the increased usability of this interface, we have made it the
  default.

  We are aware that some people feel more comfortable using an interface more
  similar to IM clients they may have used in the past. The 'Big List' can be
  disabled by un-checking "Show buddy icons" in the Buddy List preferences.

2.7  How do I get sound to work correctly?

  Gaim uses libao to play sounds. Playing sounds directly through esound or
  arts is no longer supported.

  Libao is a cross-platform library that allows programs to output PCM audio
  data to the native audio devices on a wide variety of platforms. It currently
  supports OSS (Open Sound System), ESD (ESounD), ALSA (Advanced Linux Sound
  Architecture), Sun audio system (used in Solaris, OpenBSD, and NetBSD), aRts
  (Analog Realtime Synthesizer).

  To compile Gaim with support for libao you need libao-devel and
  audiofile-devel. To use libao you need libao and audiofile. If you do not
  wish to install these packages you can also just change your sound playing
  method in preferences to Command and use "esdplay %s" or "artsplay %s."

2.8  How do I make Gaim use ALSA or OSS for playing sounds? What does the
     "Automatic" option do?

  If you choose "Automatic", "ESD", or "Arts", Gaim uses libao to play sounds.
  Choosing "ESD" or "Arts" forces libao to play sounds using that method, while
  choosing "Automatic" lets it decide for itself.

  If you choose "Automatic", you can create a file, either /etc/libao.conf or ~
  /.libao, and put one of the following lines in it:

     default_driver=alsa

     default_driver=oss
  Other drivers, like alsa09, arts, esd, irix, macosx, and sun might also be
  supported, depending on your platform, and how libao was compiled. See also
  'man 5 libao.conf'.

2.9  Why does Gaim use the same WM_CLASS for every window? It makes it
     impossible to control window size and placement for the buddy list
     separately from the conversations.

  Both strings in the WM_CLASS property are supposed to be the same for all
  windows in the same instance of an application. ICCCM states that one is
  meant to be the same for all instances of the application, the other is meant
  to be unique to that instance of the application. ICCCM also states "If a
  client has multiple windows with identical WM_CLASS and WM_NAME properties,
  then it should provide a WM_WINDOW_ROLE property."

  Gtk+ sets these WM_CLASS values for us so that they are unique for Gaim
  instances, and the documentation for the gtk_window_set_wmclass function says
  explicitly not to use it for anything else. Gaim uses the WM_WINDOW_ROLE hint
  to differentiate windows. If your window manager is having problems
  differentiating between Gaim windows, please ensure that it uses the
  WM_WINDOW_ROLE hint per the ICCCM.

2.10  What is a "Buddy Pounce"?

  Gaim introduced buddy pounces a few releases before AOL came out with "Buddy
  Alerts." Despite this though, you could think of a buddy pounce as an Alert
  and get an idea of the most minimal uses of a buddy pounce. In reality, a
  buddy pounce is much like a macro, or a recorded action. When you set a
  pounce on someone, you choose from a number of events, such as sign on or
  someone going away, and then you choose from a number of actions. These
  actions include everything from playing a sound (like an Alert would do) to
  sending a message to the person, to executing a command. This action will
  occur the next time gaim detects the event, ie the next time the person in
  your buddy list who you have pounced signs on.

2.11  Where does gaim store its logs?

  On unix, they are in ~/.gaim/logs, on win32 they are in the $drive\Documents
  and Settings\user\Application Data\.gaim\logs directory. In either case, new
  logs (new as of 0.73) are in subdirectories that correspond to protocol/
  yourscreenname/theirscreenname.

2.12  Can I use Gaim for e-mail, blogging, an RSS feed, or something else that
      isn't IM-related?

  No, you can't. We get requests for this often, but Gaim is indeed a
  messenging client. Aside from the capabilities each protocol may support, the
  Gaim developers have no intention to turn Gaim into a multi-feature Internet
  client capable of doing everything under the sun. We also won't be helping to
  develop plugins to turn it into that. There are many Internet applications
  available for Linux, Windows, or whatever operating system you use that would
  undoubtedly do a better job.

+------------------------------------------------------------------------------
| 3. Features
+------------------------------------------------------------------------------

3.1  Does Gaim support file transfer?

  Somewhat, yeah. As of 0.79 the following is supported:

    * Sending and receiving files on AIM (although it might be a bit buggy)
    * Sending and receiving files on IRC
    * Sending and receiving files on Jabber
    * Sending and receiving files on MSN
    * Sending and receiving files on SILC
    * Sending and receiving files on Yahoo (sending is limited to 1Mb)

  Most of the protocols themselves support file transfer, but Gaim has not been
  written to support it yet. If you would like file transfer to work better or
  be more complete, get CVS and submit a patch using the generic file transfer
  API.

3.2  Is there a Gaim tray icon, or docklet, or gnome applet, or panel icon, or
     something?

  Yeah, Gaim supports what is called a system tray icon that conforms to the
  standards at www.freedesktop.org. This tray icon is supported by Windows, KDE
  3.1, Gnome 2.2, and Red Hat Gnome 2.0. All you have to do is load the "System
  Tray Icon" plugin by going to Preferences and then Plugins.

  If you're using Gnome you need to make sure that your panel has a
  Notification Area on it. To add one, right click on the panel, select Add To
  Panel->Utility->Notification Area. Gaim will insert the tray icon in any
  System Tray implementation that conforms to these standards, so feel free to
  write one for your window manager of choice.

  Due to a flaw in these specs, KDE users may experience trouble with the
  background color of the docklet. There is unfortunately nothing we can do
  about this.

3.3  What do those colors in the conversation tab mean?

    * Red - A message is waiting for you
    * Blue - Someone sent a message containing your name
    * Green - The buddy is typing
    * Yellow - The buddy began typing, and then stopped
    * Gray - There has been a join or a part in that chat, or the buddy has
      signed off

3.4  Will Gaim save my buddy list to the server?

  Yes, Gaim saves your buddy list to the server for AIM, ICQ, Jabber, MSN,
  Novell and Yahoo!.

3.5  Can I import or export my buddy list?

  Sorry, no. Old versions of Gaim supported this, but new versions do not. All
  the code for saving and loading buddy lists was rewritten, and support for
  importing and exporting buddy lists was never re-added. However, with all
  major protocols storing their buddy lists on the server, this feature is less
  useful today than in the past.

3.6  Does Gaim support animated smileys?

  Yes, as of version 0.70 Gaim supports animated smileys.

3.7  Can I make Gaim group screen names by the person that owns them? You know,
     like Trillian's Meta Contacts?

  Sure! Right click a buddy on your list and at the bottom of the menu click
  "Expand". Then just drag other screen names to the same person below it. When
  you're done, click on the arrow to collapse them. When the contact is
  collapsed, Gaim will select a buddy to display based on the status of the
  buddies in the contact, and their order.

3.8  How do I get the old logging back?

  The old logging was removed because it was deficient in many ways. There is
  no way in Gaim itself to revert to the old logging, but the new logging is so
  good you could implement something similar to the old logging as a plugin.

3.9  How can I convert my old logs to the new format?

  It's not possible to perfectly convert from the old format to the new format
  because the old format is missing some information necessary to do that (eg.
  which account the messages were sent from).

  It shouldn't be too difficult to do a rough conversion using a small script,
  or using the old_logger_* functions in gaim itself.

  Peter Johnson has written a python script to do just this, it is available on
  his website (at the bottom).

+------------------------------------------------------------------------------
| 4. ICQ Protocol
+------------------------------------------------------------------------------

4.1  How do I use ICQ?

  ICQ support is part of the OSCAR protocol, labeled AIM/ICQ in Gaim. To use
  it, simply put your account number in the "Screen Name" box and your password
  in the "Password" box. Leave the server settings set to the default
  (login.oscar.aol.com and port 5190).

4.2  Can I send SMS messages?

  Kind of. See our answer to this for the AIM/ICQ Protocol.

+------------------------------------------------------------------------------
| 5. TOC Protocol
+------------------------------------------------------------------------------

5.1  What is the TOC protocol?

  It's an AIM protocol used by Quick Buddy and AIM Express. It's recommended
  that you don't use it. You should use Gaim's OSCAR (AIM/ICQ) protocol
  instead. We keep TOC around in case OSCAR ever stops working. However, we are
  not actively supporting this code, and no longer distribute it in binaries.

+------------------------------------------------------------------------------
| 6. AIM/ICQ (OSCAR) Protocol
+------------------------------------------------------------------------------

6.1  Can I set my profile?

  Yes you can. Go to Tools->Account Actions

6.2  Can I set a buddy icon?

  Yes. Go to the Account Editor (Tools->Accounts from the buddy list), and
  click to "Modify" the AIM/ICQ account you wish to have an icon. Enter the
  full path to the image you wish to use in the box labeled "Buddy Icon File."
  The file must be below 4KB. It can have any dimensions, and can be in any
  format. However, if you wish Windows users to see it, it must be in a format
  Windows understands, such as .bmp, .gif, and .jpg.

6.3  Some of my buddies are not showing up as online, why is that?

  AOL has set a limit for the maximum number of people you can have in your
  buddy list. This number is currently 200. If you don't think you are anywhere
  near that limit, it is possible that your server-stored buddy list is
  corrupt.

  If you think this might be the case, you can try signing on with an official
  AIM program from AOL. This will usually correct any problems with the list.

6.4  Can I use AIM URI's such as "aim:goim?screenname=robflynn"?

  Yes, with Gaim 0.60 and higher, but it can be difficult to set up. You need
  to pass the entire URI to the gaim-remote program (included with gaim). To do
  this with Gnome 2, run gnome-file-types-properties or "File Types and
  Programs" from the preferences menu. Add a service with protocol "aim" and
  set the program to gaim-remote uri "%s". This will make AIM URIs work in
  Galeon 2. Also, not all types of aim URI's are supported. The ones that are
  supported are goim, addbuddy, and gochat.

  You'll need the "Remote Control" plugin loaded for this to work.

  If you use wingaim, this will not work as gaim-remote has not yet been ported
  over.

6.5  I just changed my buddy icon, and I can't see the new one.

  First, try IMing yourself a few times. Buddy icons are checked when you IM
  people, so depending on the protocol, that may work. If it still doesn't
  update, check the file size (buddy icons must be smaller than 4kb) and the
  image size (it should be 48x48 or 50x50 in most cases). Also, check the file
  type. GIF or JPEG images are best supported; most other formats do not work
  at all. If all of that checks out and it still doesn't work, and you're sure
  the protocol supports it, try restarting Gaim.

6.6  Does Gaim support DirectIM and IM Image?

  Yeah, kind of. This tends to be one of the buggier areas of Gaim. If it's not
  working for you, make sure that at least one person is not behind a firewall.

6.7  Can I send SMS messages?

  Yep, just send an IM to the person's phone number. For example, if the phone
  number is (919) 555-1234, you would IM the screen name +19195551234 We think
  this should work for countries with a country code of 1 (the United States
  and Canada).

  Sending SMS messages using "the ICQ method" is not yet supported.

6.8  Can I add SMS numbers to my buddy list?

  Not currently. This functionality has been broken since around September
  2003. There is no ETA for when it will be fixed.

6.9  I heard AOL is combining ICQ and AIM, does that mean I can send a message
     from an AIM account to an ICQ account and vice-versa?

  Yes, AOL is slowly letting the two messaging networks interoperate with each
  other. Messaging between the two protocols works as long as the receiver of
  the message supports it. Gaim 0.60 supports sending and receiving messages
  between AIM and ICQ, but the person receiving the message must support this.
  Gaim, of course, supports this for both ICQ and AIM accounts. Windows AIM
  version 5.2.3139 supports receiving messages from ICQ users. It is unknown if
  earlier versions of Windows AIM support this. Windows ICQ build 3800 does not
  support receiving messages from AIM users. Windows ICQ Lite builds 1150 and
  later support receiving messages from AIM users and sending messages to AIM
  users. MacAIM versions 4.6 beta, build 1.1131 and newer support sending and
  receiving messages to and from ICQ users.

  The same clients that support receiving messages from the alternate messaging
  network will also show up in buddy lists of people using the alternate
  network. This means that if you can message an ICQ user from an AIM account,
  then the ICQ user will also show up in your AIM buddy list. So an AIM user
  using Windows AIM version 5.2.3139 will show up in an ICQ buddy list.

6.10  Why can't I connect via either Oscar or TOC?

  If you are using Linux, your kernel may be using a network option called
  "ECN". It seems that the AOL servers are currently dropping packets marked as
  "ECN-capable". In order to turn this off, run the command "echo 0 > /proc/sys
  /net/ipv4/tcp_ecn" as root, or (if your distribution supports it) put the
  line "net.ipv4.tcp_ecn = 0" in the file /etc/sysctl.conf.

+------------------------------------------------------------------------------
| 7. IRC Protocol
+------------------------------------------------------------------------------

7.1  How do I join a channel with the IRC plugin?

  First create the account, then sign on. After you have signed on, you can use
  File->Join A Chat on the buddy list to join a channel. In any window, either
  a conversation or a chat, in which your IRC user is the sender, you can also
  use /join to connect to a new channel.

7.2  Is there a way to make Gaim automatically identify me and/or join IRC
     chats on login?

  Yes. Add NickServ to your buddy list and place buddy pounces on him/her/it.

  In version 0.64 or higher, you can add a chat to your buddy list, right click
  it, and tell gaim to auto-join it.

+------------------------------------------------------------------------------
| 8. Jabber Protocol
+------------------------------------------------------------------------------

8.1  How do I choose which Jabber server to use?

  The Jabber server name is part of your Jabber I.D., such as
  somebody@server.name. So when entering your Jabber "screen name", the server
  is specified as part of your JID.

8.2  How do I change my Jabber resource to be other than the default of "/
     Gaim"?

  When you create your account in Gaim, simply append the desired resource
  identifier to your Jabber I.D. For example: somebody@server.name/resource

8.3  How do I register a new Jabber account?

  As of version 0.52 and up:

   1. Click "Tools->Accounts->Add"
   2. Select "Jabber" for the protocol.
   3. Fill in screen name and password as you normally would. THIS IS A
      REQUIRED STEP
   4. Check the "Register with server" check-box
   5. Click "OK".

  Note: You are strongly recommended to check the "Remember password" check-box
  as well, as Gaim presently does no password verification. So if you don't
  type in what you thought you did, you're hosed.

8.4  How do I use invisibility?

  Jabber invisibility support is available in Gaim version 0.60 and later.

  There are two ways to use Jabber invisibility: on a per-buddy and on a
  per-server basis.

  To use per-buddy invisibility: right-click on the buddy on the Online buddy
  list and select "Temporarily Hide From." You will appear to that buddy to be
  off-line. To make yourself seen by that buddy again: right-click on the buddy
  and select "Un-hide From." Note that the menu changes based on whether you're
  currently invisible to that buddy or not.

      The "Temporarily" part is a dead give-away. Your invisibility to that
      buddy will last only until the next time you log on or until you set
      server invisibility (discussed next) on and off.

  To use per-server invisibility: click "Tools -> Away," select the Jabber
  server login for the server upon which you wish to become invisible (if
  necessary) and select "Invisible." To become visible again: select anything
  else from that same menu (such as "Online"), or set your away status or log
  off the server and back on again.

  You can set yourself invisible per-server and subsequently make yourself
  visible to selected buddies only.

  Gaim currently does not retain invisibility settings between logins, just as
  it doesn't currently retain "away" status.

8.5  I've a buddy that I keep removing from my buddy list but the entry keeps
     coming back every time I log in again! How can I stop this?

  With Gaim 0.60 or later, it might be continuing to import the old buddy
  lists. Remove ~/.gaim/*.blist - these are no longer used, the buddy list is
  now stored in ~/.gaim/blist.xml

8.6  Can I remove a buddy from my Jabber roster entirely?

  With Gaim 0.60 or later, the deletion code will do this. Gaim currently does
  not retain invisibility settings between logins, just as it doesn't currently
  retain "away" status.

8.7  What does "Cancel Presence Notification" do?

  This selection, available in Gaim version 0.60 and later, and found by
  right-clicking on a buddy entry in the buddy list, prevents that Jabber I.D.
  from receiving future presence notifications when you log on to the server.

  After you do this, that buddy will have to re-request a subscription to your
  presence (and you will have to approve it) for them to again see you on-line.

+------------------------------------------------------------------------------
| 9. Y!M (Yahoo) Protocol
+------------------------------------------------------------------------------

9.1  I cannot connect to yahoo!

  Make sure you have at least 0.79.

+------------------------------------------------------------------------------
| 10. MSN Protocol
+------------------------------------------------------------------------------

10.1  I'm getting lots of "Already in Opposite list" errors on msn, why?

  The reason this happens is because you have a screen name in both your permit
  list and your deny list. There are two ways to fix this: the correct way and
  the quick way. The correct way is to go to tools->preferences (tools->privacy
  in 0.60 or later), and manually scan the list and remove the duplicate
  entries. The quick way is to remove the msn .blist file from the ~/.gaim
  directory. This will have a side effect: the msn server stores the screen
  names of your contacts, but does not store what group they are in, so you
  will have to re-sort your msn contacts into the appropriate groups. The buddy
  list is ~/.gaim/blist.xml in 0.60 and later, but be aware that this contains
  your buddy list for all accounts, and also stores the "Contact" grouping of
  Buddies.

10.2  Is there a way to invite more than one person to an MSN chat?

  Not at this time. When the conversation framework gets another rewrite, it is
  possible that it will be worked on. Until that time, sorry. :)

10.3  Is MSNP9 (MSN6) going to be supported?

  MSNP9 support has existed in Gaim since 0.69. However, at this point,
  features such as custom smileys and buddy icons aren't yet implemented.

10.4  Will I be able to use Gaim for MSN after October 15th 2003? (The day
      they're preventing third party clients from connecting)

  Yes. We use MSNP9, which is available in 0.69 and up, and MSNP9 is supported
  after October 15th 2003.

10.5  I just upgraded Gaim and the MSN plugin will not load. Why?

  You did not compile with SSL support, or the SSL plugin failed to load. As of
  protocol version 9, the MSN protocol requires the use of SSL, which gaim
  provides by either GnuTLS or the combination of NSS and NSPR from the Mozilla
  project. Install one or both of these and recompile Gaim, and see the next
  question.

10.6  The MSN plugin won't load, but I have Mozilla NSS!

  Some distributions, including Slackware, install Mozilla NSS to a
  non-standard directory. The fix is simple. Edit /etc/ld.so.conf and add /usr/
  lib/mozilla-1.4 (or whatever version you're using, but it's usually 1.4) to
  the file, and run ldconfig as root. Then re-run configure and recompile Gaim.
  You may also need to specify where the include file are for NSS and NSPR, see
  ./configure --help for the options.

  Mozilla 1.5 has a broken .pc file and does not install the necessary .h
  files, and so will not be detected.

  See http://gaim.sf.net/faq-ssl.php on getting SSL to work with gaim.

10.7  What does "MSN: S: 911 3" in the debug window mean when I cannot connect
      to msn?

  See http://gaim.sf.net/911.txt.

+------------------------------------------------------------------------------
| 11. Gadu-Gadu Protocol
+------------------------------------------------------------------------------

11.1  What is Gadu-Gadu?

  Gadu-Gadu is an IM protocol popular in Poland. You can find more about it at
  www.gadu-gadu.pl (website in Polish).

11.2  Why doesn't it work right?

  We have not had a Gadu-Gadu maintainer in some time and are currently
  struggling to keep this protocol functional. If you have any problems, you
  will need to submit a patch for them, as we are unlikely to have much luck
  fixing it. If things get too bad, we will be forced to remove this protocol
  from the default builds.

+------------------------------------------------------------------------------
| 12. Zephyr Protocol
+------------------------------------------------------------------------------

12.1  What is Zephyr?

  Zephyr is an IM protocol developed at MIT for use with Project Athena. Its
  features include Kerberos IV authentication, multi-level chats (aka
  "subscriptions"). You're probably using this because your college/employer/
  organization uses it as a local IM/chat system. If not, you probably don't
  have a server to connect to.

12.2  Other Zephyr clients (zwgc,owl,tzc) work, but gaim dies with "Couldn't
      initialize zephyr".

  Your site might require the use of Kerberos 4 for authentication, though few
  (if any) prepackaged gaim binaries compile it with Kerberos support. The
  solution is to compile gaim with the --with-krb4 flag to point to the
  location of your Kerberos 4 devel files, usually one of /usr, /usr/local, or
  /usr/athena , e.g. ./configure --with-krb4=/path/to/kerberosIV

12.3  Gaim isn't working, but I never got any other zephyr client working on
      this machine.

  You need to have zhm (which comes with the standard zephyr distribution)
  installed, and running, and pointed at your zephyr servers. e.g.

  zhm z1.example.com z2.example.com z3.example.com

  Alternatively, there might be a firewall or a NAT between you and the zephyr
  servers. Zephyr doesn't work in an environment where incoming connections
  cannot be made to arbitrary UDP ports.

+------------------------------------------------------------------------------
| 13. Trepia Protocol
+------------------------------------------------------------------------------

13.1  I heard Trepia was going to be in 0.65. Where is it?

  Support for the Trepia protocol was removed right before 0.65's release. It
  may make it into a future version, but we're not sure yet.

13.2  Trepia is showing people in Japan, England, etc. on my buddy list. I
      thought this was supposed to show people in my area?

  We believe this to be the fault of protocol, not Gaim. As Trepia continues to
  update and refine their protocol, it will become more accurate. If we find
  out otherwise, we will attempt to incorporate the changes necessary to act
  like the official client.

+------------------------------------------------------------------------------
| 14. SILC Protocol
+------------------------------------------------------------------------------

14.1  What is SILC?

  SILC is an open protocol designed from the ground up with security in mind.
  It is, or should be, the protocol of choice for the paranoid. See http://
  www.silcnet.org for more details.

+------------------------------------------------------------------------------
| 15. Novell Protocol
+------------------------------------------------------------------------------

15.1  Are there any public servers for Novell?

  Not really. This protocol is designed to connect to a Novell GroupWise server
  running on a corporate LAN.

15.2  I can't seem to get it to work.

  Novell tells us that this protocol plugin will only work with either the
  GroupWise Messenger for Linux server or the GroupWise Messenger SP2 (or
  higher) server for NetWare and Windows. In addition, the server must be
  secure (SSL enabled). If you have any trouble, see the FAQ question about
  submitting bugs, and they will be forwarded to Novell, who have been kind
  enough to continue active maintenance to the protocol plugin code they
  provided us.

+------------------------------------------------------------------------------
| 16. Scripts and Plugins
+------------------------------------------------------------------------------

16.1  How do I use perl scripts with Gaim?

  Save the perl script to ~/.gaim/plugins/ or $prefix/lib/gaim/, restart Gaim,
  and load the perl script by checking the check box next to its name on the
  Plugins page in preferences.

16.2  How do I compile a plugin for Gaim?

  To compile a plugin for Gaim, you must have Gaim's source code. To download
  Gaim's source code, get the most recent tarball from http://
  gaim.sourceforge.net/downloads.php (http://gaim.sf.net/downloads.php) and
  untar it with the command:
  tar zxvf filename
  where filename is the file you downloaded.

  After you have a Gaim source code tree:

   1. Change to the resulting directory and run the command:
      ./configure
      This will create the necessary make files.
   2. Move the plugin you wish to compile into the plugins/ directory in the
      Gaim source code tree.
   3. Change to the plugins/ directory.
   4. Type:
      make name.so
      where the name of the file you wish to compile is name.c.

      Note well the difference in the extensions. If you type make name.c
      instead of name.so, it won't work.

   5. After make finishes, you can move the plugin to a place that is more
      convenient. $prefix/lib/gaim is suggested. If you installed Gaim by
      compiling it yourself, $prefix is /usr/local by default. Otherwise,
      $prefix is /usr.

16.3  I have a plugin or perl script for Gaim that does not work with 0.60 or
      higher.

  The plugin and perl script API has changed in 0.60, which means plugins and
  perl scripts must be modified in order to work. The plugin or perl script
  must be located in $prefix/lib/gaim/ or in ~/.gaim/plugins/, and must
  implement the new API, as documented in the HOWTO file in the plugins
  directory. Plugins and perl scripts are now controlled from preferences.

16.4  Where can I find documentation on writing plugins and Perl scripts?

  If you look in the plugins/ directory in the Gaim source, you should see a
  HOWTO file with some details for C plugins. Also be sure to check out our
  online documentation (http://gaim.sf.net/api/index.html). Be especially sure
  to look at the Related Pages, which lists all of Gaim's signals, as well as a
  nice perl script HOWTO.

  This documentation can be generated directly from the Gaim source by running
  make docs. You will need doxygen and graphviz dot installed for this to work.

+------------------------------------------------------------------------------
| 17. Development
+------------------------------------------------------------------------------

17.1  Can I help?

  But of course. Just find something that's bugging you and fix it. There are a
  slew of a bug reports in Gaim's bug report tracker - you could pick one and
  try to tackle it and submit a patch. You could also help with general bug
  triage by going through the bug reports and leaving comments such as "this
  has been fixed" or "this is a duplicate of bug #12345." As always, make sure
  you follow the same coding style used in Gaim, and make sure you don't break
  the core/UI split.

17.2  Gaim never leaves a core file.

  On most installs core files are limited in size to 0 bytes, and are therefore
  not created. To rectify this situation, add ulimit -c unlimited to your
  startup scripts (~/.bash_profile is a good place) or run it manually in a
  terminal before starting gaim from that terminal. You can also run Gaim
  directly in gdb with gdb gaim.

17.3  Where should I report bugs?

  http://gaim.sf.net/".

17.4  Where should I submit patches?

  http://gaim.sf.net/".

17.5  Did you guys reverse engineer it?

  TOC, Jabber, MSN, Napster, and IRC are published protocols, so we didn't have
  to reverse engineer those. Oscar, ICQ, and Yahoo are not published, and were
  reverse engineered by other people. Novell was provided by Novell, and SILC
  was written by one of the protocol's developers.

+------------------------------------------------------------------------------
| 18. Misc. Questions
+------------------------------------------------------------------------------

18.1  Can I IM you guys?

  Sure! Look at the Contact Information (http://gaim.sf.net/contactinfo.php)
  page!

18.2  Hello?

  We don't know how to answer this question. Stop asking it.

18.3  Can I give you money/hardware/other expensive things that can be hocked
      for cash what with you all being students/full-time-workers and helping
      to produce this wonderful software instead of studying/sleeping?

  No. We're completely fool-hardy and won't accept any gratuities with no
  strings attached for just being good guys. That and we'd have to share with
  everyone who has submitted patches. ;-)

18.4  Does Gaim support secure instant messaging (encrypted IMs)?

  Short answer: Yes, use the SILC protocol. Long Answer(for other protocols):
  Not natively. Doing secure instant messaging right is a big deal and
  requires, among other things, an authentication scheme. Simply encrypting
  your data stream without verifying the party with whom you are chatting is
  not secure in any way; some other clients offer options like this, but we
  feel that such measures instill a false sense of security that is more
  harmful than helpful.

  There are a number of 3rd party plugin developers working on developing a
  secure IM framework, the better ones using the GnuPG and the OpenPGP trust
  model for authentication. If you are serious about secure instant messaging,
  read the documentation on the "web of trust" model available at www.gnupg.org
  and try out one of these.

18.5  Why are the passwords in accounts.xml not encrypted?

  This is a case of a really long answer to a short question. Read our
  explanation at http://gaim.sf.net/plaintextpasswords.txt.

18.6  What is gaim-remote?

  gaim-remote is a second executable included with Gaim starting with 0.60. It
  allows you to perform some actions to control/manipulate an existing Gaim
  process from the command line. Run gaim-remote --help to get an idea of what
  we currently envision it doing.

18.7  When will the next version of Gaim be released?

  The schedule for releases is every third Thursday. However, a new version
  will only be released if it meets a certain standard of quality (i.e., it
  will not be released if it still has a large number of serious bugs).
  Therefore, some releases will take longer than others. Major rewrites means
  lots of new bugs to work out. The new version will be released as soon as it
  is possible to do so.

