Frequently Asked Questions

Frequently asked questions specific to Windows have their own FAQ.

For those users testing 2.0.0beta1, we have an updated FAQ.

Compiling and Installing Using Gaim Features AIM/ICQ (OSCAR) Protocol IRC Protocol Jabber Protocol Y!M (Yahoo) Protocol MSN Protocol Gadu-Gadu Protocol Zephyr Protocol SILC Protocol Novell Protocol Scripts and Plugins Development Miscellaneous Questions

Compiling and Installing

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").
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 these notes for distribution specific hints.

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.
What do I need to use the SILC protocol?
You need to install the SILC 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.

In Windows, the SILC toolkit is installed with Gaim.

Some distributions provide the SILC toolkit and include Gaim's SILC plugin in their Gaim package.

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 is the default.

  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.

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.

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 Stu Tomlinson. Usually the Mandrake RPMs are signed by, Mark Doliner, the Fedora Core RPMs are signed by Stu Tomlinson, 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.
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.
Can I run Gaim on IRIX?
It has been done before. Please see this thread at our SourceForge Forum.
Can I run Gaim on MacOSX?
Yes you can, but we do not provide a package for it. The reason being that in order to use Gaim on MacOSX, you need to install an X server and GTK+, which we are not prepared to support. You can either compile Gaim (and its dependencies) yourself, or you can use the fink installer available from http://fink.sf.net. If you would like a native aqua interface or a user-friendly installer, we suggest trying Adium.
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.
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.
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.
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.

Using Gaim

How do I register for a new account?
This depends on the protocol.

AIM: Go to this website.

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

MSN (using your own email address): Go to http://register.passport.net/.

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.

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.
How do I use Google Talk?
Create a Jabber account as per Google's FAQ. The Audio component is not currently supported and will not be until 1)the protocol is published and 2)Gaim-vv is ready for mainstream use.
How do I change the font Gaim uses? The empty left padding? The background color?
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 file. On Windows, this file is located at C:\Documents and Settings\username\.themes\Default\gtk-2.0\gtkrc. If the file does not exist, create it.

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.

Similarly, the other font preferences are the defaults for outgoing messages, and gaim's global settings are controled by the gtk theme. Additionally, some settings to specific parts of gaim can be set by a Gtk+ theme.

How do I make gaim use emacs-like keybindings?
You need to edit your ~/.gtkrc-2.0 to contain the keybindings line from this example file.
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 tracker.

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

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.

Why do the emblems move around the status icon?
The four corners of the icon have different precedence. The lower-right is the highest, lower-left is second-highest, etc. The most important emblem is in the lower-right, always. When an AOL buddy is not away, the fact that [s]he's an AOL user is the most important information shown in the icon. The consistency is that the user can always look in the same place on the icon to find out what he needs to know. Also, importantly, the lower-right corner emblem is the only emblem that shows up when "Small list" is on, as only one emblem would fit.
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.

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, nas, and sun might also be supported, depending on your platform and how libao was compiled. See also man 5 libao.conf.

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.

I blocked someone accidentally, how can I unblock them?
See the "Privacy" option under the "Tools" menu of the Buddy List.
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.
Where does gaim store its logs?
On unix, they are in ~/.gaim/logs, on win32 they are in the C:\Documents and Settings\user\Application Data\.gaim\logs directory. (NOTE: Application Data is a hidden directory.) In either case, new logs (new as of 0.73) are in subdirectories that correspond to protocol/yourscreenname/theirscreenname.
How can I see my own status with Gaim?
Currently the only supported method to see your own status is to add yourself to your buddy list. This works with Aim, ICQ, Y!M, IRC, and some of the others, and is mimiced by gaim for MSN and Jabber.
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 messaging 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.

Features

Does Gaim support file transfer?
Somewhat, yeah. As of 1.2.1 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 when not using an HTTP proxy (sending is limited to an unknown file size)

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.

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.

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
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!.
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.
Does Gaim support animated smileys?
Yes, as of version 0.70 Gaim supports animated smileys.
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.

You may need to turn off the preference option to automatically expand Contacts in order to be able to edit an existing Contact.

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.
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).

AIM/ICQ (OSCAR) Protocol

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).
Can I set my profile?
In AIM, yes, you can. Go to Tools->Account Actions
In ICQ, this is not yet supported. Patches are welcome.
Can I set a status message?
In AIM, yes, you can. In 1.x, go to Tools->Away and select either an existing one or the option to create a new one. Statuses themselves are supported for ICQ, but Status messages are not.
Does Gaim support available messages?
See the above question, with the caveat that the UI for this is somewhat different, it is from the account actions menu. This UI will improve with gaim 2.0.0.
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 smaller than 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.
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.
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 500 for AIM, 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.

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.

Does Gaim support file transfer?
AIM and ICQ file transfer is partially implemented. Notably, it will fail when the sender is behind a NAT device, and sometimes when the sender is behind a firewall even if not behind a NAT. Jonathan Clark is working on this as a Summer of Code project.
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.
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.

Can I add SMS numbers to my buddy list?
Yes. You should be able to add phone numbers to your buddy list using the same format as above.
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.

English is not my native language, and some of my friends have trouble seeing my IMs/I have trouble seeing my friends' IMs. How do I use a native language character set with ICQ?
Gaim 0.82 and higher allow you to specify a character encoding to use when conversing with ICQ users. Use the account editor to set this encoding.
Can I set myself invisible?
Yes. Go to Tools->Away->account->Invisible.

IRC Protocol

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.
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. Do not include "/msg nickserv" as part of the message to send.

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.

Is it possible to change the user name that appears in username@hostname?
Yes. Go to Tools->Accounts. Select your IRC account and click Modify. Expand the Show more options section. Enter a name in the Username field.
How can I set/change my real name?
Go to Tools->Accounts. Select your IRC account and click modify. Expand the Show more options section. Enter a name in the Real name field.

Jabber Protocol

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.
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
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, if present, else click "Register" instead of "OK" below.
  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.

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.

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
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.
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.

Y!M (Yahoo) Protocol

I cannot connect to Yahoo! and get "Invalid Password" errors, or I'm using a version of Gaim older than 0.79!
Make sure you have at least 0.79.
I cannot connect to Yahoo! and I'm behind a firewall or NAT. Why doesn't Gaim have Yahoo's "Firewall with no proxy" option?
Yahoo!'s firewall with no proxy option connects to Yahoo! by wrapping the YMSG protocol inside HTTP. Gaim currently doesn't support doing this.

Gaim does support changing the port it connects to. Try changing the Pager Port in the Account editor under "Show more options". Ports known to work are: 20, 23, 25, 80, 119, 5050, 8001, and 8002. While this doesn't work for as many people as actually tunneling through the HTTP protocol would, it helps many users.

I blocked someone, but it doesn't seem to have worked.
As of 0.81, this is a known bug in our Yahoo code. We're not sure what exactly is wrong, but it seems to fail most often when automatically removing the buddy from your buddy list at the same time it blocks them. It also always seems to fail if Gaim already thinks the buddy is blocked, and you try to block them again.

We suggest manually removing Yahoo! buddies before attempting to block them. For buddies which Gaim reports are blocked but which are not, unblocking them and reblocking them from the Tools->Privacy dialog will often get things working.

Can I get a list of Yahoo! Chat rooms? What about localized lists?
Tools->Room List will let you list available Yahoo! Chat rooms. Yahoo! has currently disabled user-created rooms. The option to create rooms still exists in Gaim but is non-functional unless Yahoo! re-enables user-created rooms.

Please note that defaults to US localized chat rooms. To get a localized room list, you'll need to change the Chat Room Locale setting in the account editor, under "Show more options". In previous releases, this was known as "Chat Room List URL". The URL is no longer used; it has been replaced by a country code. These codes are the same as the country codes previously used in the URLs. Certain country codes no longer seem to work (most notably de).

The list of known country codes is:

  • aa => Asia
  • ar => Argentina
  • au => Australia
  • br => Brazil
  • ca => Canada
  • cf => Central African Republic
  • cn => China
  • dk => Denmark
  • es => Spain
  • fr => France
  • hk => Hong Kong
  • in => India
  • it => Italy
  • kr => Korea, Republic of
  • mx => Mexico
  • no => Norway
  • se => Sweden
  • sg => Singapore
  • tw => Taiwan
  • uk => United Kingdom
  • us => United States of America

If you discover any of these no longer work, or find other country codes that do work, please don't hesitate to contact the development team. (See the Contact Information page.)

What protocol does Gaim use to connect to Yahoo!?
Normally Gaim uses the YMSG protocol, which is the same protocol that the official Yahoo! clients use. If an attempt to login returns the "Invalid Password" error code, Gaim automatically tries to log in using the "Web Messenger" method. This method still uses the YMSG protocol, but authenticates differently, and connects to a different server.

While in Web Messenger mode, several things work differently or not at all. Adding, moving, and removing buddies doesn't work, and the only available statuses are "Available" and "Invisible". In addition, the Yahoo! server seems to ignore all Yahoo! Chat related packets. For this reason, we use the YCHT protocol to join Yahoo! Chat rooms while connected using the Web Messenger method.

MSN Protocol

Will Gaim support MSN video chat?
See this question.
Why are my file transfers so slow?
Gaim only supports tranferring files over MSN via the MSN servers. This means all your data is sent to an MSN server and then forwarded to the person at the other end of the transfer. It is unknown whether we will support true peer to peer file transfer over MSN.
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->Privacy, and manually scan the list and remove the duplicate entries. The quick way is to remove the blist.xml file from the ~/.gaim directory. Be aware that this contains your buddy list for all accounts, and also stores the "Contact" grouping of Buddies.
Is there a way to invite more than one person to an MSN chat?
Yes. Right click a buddy on your list and choose "Initiate Chat". In the conversation window that appears, choose "Invite" from the "Conversation" menu to invite another user. When the conversation framework gets another rewrite, it is possible that this will be simplified.
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 aren't yet implemented.
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.
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.
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 these notes on getting SSL to work with Gaim.

What does "MSN: S: 911 3" in the debug window mean when I cannot connect to MSN?
See this explanation.
How do I set an MSN avatar?
Gaim calls these Buddy Icons. Go to Tools->Accounts and click to Modify your MSN account. You can drag and drop a file to the resulting dialog, or use the Open button.
What does "Has you" in the buddy tooltip mean?
It shows you if that MSN user has added you to his/her buddy list. "Has you: No" does not mean you can't talk to that person.
How do I set my MSN Friendly Name (the name other users see)?
In the Buddy List window, go to Tools->Account Actions->account->Set Friendly Name.
What does "Error reading from switchboard server" mean?
We haven't fully figured that out yet, but even Microsoft's client seems to get similar errors, although with less frequency than we do. See Bug 1060205 for further information.

Gadu-Gadu Protocol

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).
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.

Zephyr Protocol

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.
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 prepackaged Gaim binaries use Kerberos. One 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
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 generally doesn't work in an environment where incoming connections cannot be made to arbitrary UDP ports.

How do I use Zephyr from behind my firewall, or without recompiling with kerberos support if needed?
You can use tzc, "Trivial Zephyr Client" and ssh to run Zephyr from a machine that is behind a firewall or NAT. First, make sure that tzc is installed and working on the remote machine. The best version of tzc to use can be found here. Second, make sure that you can make a passwordless ssh connection to the remote machine and get kerberos 4 tickets. Then, click on "Show more options", enable "Use tzc", and set the tzc command to
/path/to/ssh username@hostname /path/to/tzc -e "%s"
Alternately, if you have tzc working on your machine, you can enable "Use tzc", and set the tzc command to
/path/to/tzc -e "%s"

SILC Protocol

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.

Novell Protocol

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.
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.

Scripts and Plugins

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.
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 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. On Unix/Linux Type:

    make name.so

    where the name of the file you wish to compile is name.c.

    On Win32 Type:

    make -f Makefile.mingw name.dll

    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.
I have a plugin or perl script for Gaim that used to work, but does not with the current version.
The plugin and perl script API has changed several times, 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 by the make docs command from the root of the Gaim source code tree. This will generate html documentation in the doc/html directory. Also note that plugins and perl scripts are now controlled from preferences.
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. 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.

Development

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.
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.
Will you support features such as voice chat, internet phones, or video chat?
In the short term we have no plans to work on or attempt to integrate patches in these areas. However, one of our developers has created Gaim-vv, a "fork" of Gaim, which will be merged into gaim when a decent subset of voice and video functionality is implemented and stable. Having a separate sourceforge project allows people interested in such features greater access to development while not clogging the main thrust of gaim towards text instant messages.
Where should I report bugs?
Here.
Where should I submit patches?
Here.
Did you guys reverse engineer it?
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 developers of the protocol.

Miscellaneous Questions

Can I IM you guys?
Sure! Look at the Contact Information page!
Hello?
We don't know how to answer this question. Stop asking it.
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. ;-)
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.

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 here.
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.
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. !ANCHOR version-number
What will the next version be?
Starting with version 1.0.0, Gaim version numbers have 3 parts to them. The format is major.minor.micro. If we change something internally in Gaim such that some plugins won't work with the newer version, we will increment the major version number. If we don't increment the major version number, and we've added things to the Gaim API that won't break any older stuff, we will increment the minor version number. In any other cases, we will increment the micro version number. Even and odd numbers have nothing to do with stability, and you should always be running the latest release of Gaim to get new features and bug fixes.
So, can I look forward to mega-sexy super functionality with Gaim?
Yes, that is the intended idea. In fact, there have been quite a number of unpopular geeks who have made the switch to gaim. In a matter of days, the number of dates and awesomeness points received by the geek increased ten fold! You, too, can have an exciting life with Gaim. Get Gaim. Get the babes. Get uhh... hmm.
How do I change the language for the Highlight Misspelled words option?
Gaim currently only supports spell checking in your locale language. This is because gtkspell 2 does not offer a good way for us to know which dictionaries are available or to switch between them. This functionality has long been promised for gtkspell version 3, which has been delayed somewhat indefinitely. See gtkspell.sf.net.
Can I make Gaim transparent/translucent?
You can make Gaim translucent in most versions of Windows using the "Transparency" plugin. It is not possible to make Gaim translucent in Linux and other platforms that use X11.

X.org provides a COMPOSITE extension that allows applications to have true translucency, but it is X.org-specific and it requires support at the GTK+ level (if it is to be per-widget). We do not wish to support this form of translucency until it is supported by GTK+. We also do not wish to implement the psuedo-translucency offered by other programs (by copying a section of your background image, tinting it, and plastering it onto a Gaim window).