Frequently Asked Questions

Frequently asked questions specific to Windows have their own 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.
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 (Accounts->Add/Edit) to add the account of the appropriate messaging service. Use the checkbox in the account editor to enable the account.
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 work on it is finished. We have no time frame for that as yet.
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.

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.

Where did my ability to use Ctrl-Enter to send a message go?
Gaim used to have an option in the preferences window which let you choose whether to use Enter or Ctrl-Enter to send a message. This was less than optimal for many reasons, not least of which was because it only let you choose between those two options. It also caused large problems for people who required an alternate input method (people who were typing in Chinese or Japanese for example). On top of all this gtk provides an incredibly nice mechanisms which allows keybindings to be set for things via the gtk theme files. Gaim decided to use this gtk interface as a method of allowing people to use Ctrl-Enter to send but to also allow people to use anything else they felt like and to reduce the clutter in the User Interface. The gtk interface is, unfortunately, not as immediately obvious as a simple checkbox, however it is still simple. The example gtkrc file seen here shows you how to do it (among other things).
When I click the status selector, I see blank space and have to scroll. What can I do about this?
Edit your ~/.gtkrc-2.0 to contain the appropriate lines from this example file. Search for "appears-as-list".
The status selector has extra padding in it. How can I make it smaller?
Edit your ~/.gtkrc-2.0 to contain the appropriate lines from this example file. Search for "xthickness". There are two examples. Start by trying the first one. If that makes the status selector look worse, then try the second one.
How do I make gaim use emacs-like keybindings, or assign a custom hotkey?
You need to edit your ~/.gtkrc-2.0 to contain the appropriate lines from this example file. If you are using gtk-can-change-accels = 1, then you hover over the menu item then press your desired key stroke.
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 and idle time 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 details" in the Buddies menu.

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.
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/ICQ (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
Can I import or export my buddy list?
The plugin pack hosted at http://guifications.sourceforge.net/PluginPack has a plugin to do this.
Does Gaim support animated smileys?
Yes, but there is a bug which can cause animation to be lost if gaim has to resize the image.
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.

What happened to my timestamps? Can I change them?
As of 2.0.0, timestamps follow the system locale. This is a significant difference from previous versions of gaim, and though it was requested more than once, we know it will prove to be a controversial decision. Fortunately for all of you out there, we also provide plugins to change it.

As of 2.0.0, there are two plugins that relate to timestamps. One, the "Timestamp" plugin, has existed for some time. It allows you to have iChat style timestamps, though implemented to behave slightly differently. The other plugin is new. The "Message Timestamp Formats" plugin allows you to manipulate your timestamps in a couple different ways. Notably, you can restore the 1.x timestamp format, and/or cause all timestamps to have dates in them.

How does Gaim decide which saved statuses to show in the status selector?
Gaim shows six "popular" saved statuses in the status selector. These are your six most recently used statuses, offset by a weight. Gaim sorts all your saved statuses by the timestamp when they were last used. And then, for each time you've used a status, the timestamp is increased by one day.

AIM/ICQ (OSCAR) Protocol

Can I set my profile?
In AIM, yes, you can. Go to Accounts->account name. Set your ICQ profile is not supported yet.
Can I set a buddy icon?
Yes. Go to the Account Menu, 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 a version of gaim compiled with dbus support for this to work.

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

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.

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 Buddies->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 the Accounts menu. Select your IRC account and click to edit. Click the Advanced tab. Enter a name in the Username field.
How can I set/change my real name?
Go to the Accounts menu. Select your IRC account and click to edit. Click the Advanced tab. 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 "/Home" (or the old default of "/Gaim")?
In the buddy list window, click the Accounts menu. Next, find your Jabber account and click Edit Account. Change the value in the Resource field. Click Save. Note: This setting cannot be changed while the account is connected.
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 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.
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 MSNP11 (MSN7) going to be supported?
It is being worked on.
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 Accounts->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).
I compiled Gaim from source and now it doesn't have Gadu-Gadu support. Why?
We now use an external libgadu. Install your distro's libgadu-dev or libgadu-devel package and rebuild Gaim (making sure to rerun ./configure). If your distro doesn't provide libgadu, you can download it from http://dev.null.pl/ekg/libgadu-current.tar.gz. Unpack the tarball and run:
./autogen.sh --prefix=/usr --disable-libgadu-openssl --disable-static --enable-shared
make
su -c "make install"

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?
Merging the gaim-vv code will take time, and we are not sure when it will be ready. Even then, there will remain work to be done before voice chat, video sharing, or internet phones will work on all protocols.
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.
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. See the Plugins page for links.

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