Windows Gaim
Grab the latest Windows build (v1.5.0), or if you already have GTK+ v2.6.10 rev a installed grab Windows Gaim without GTK+.
For the latest Windows Gaim specific changes, see ChangeLog.win32. It includes information on GTK+ changes/fixes affecting Windows Gaim.
Windows Gaim users/developers are encouraged to congregate in #wingaim on irc.freenode.net.
NOTE: Those who currently use HOME
and LANG
environmental variables to set Gaim's settings path and language, will need to use GAIMHOME
and GAIMLANG
as of version 1.1.0.
Contents
- Windows Gaim FAQ
- Major Windows Gaim Bugs & Workarounds
- Standalone GTK+ Installer
- Unattended Installations
- Windows Gaim Spell Checking
- Perl Plugin Support
- TCL Plugin Support
- Windows Gaim Crash Reporting - Howto
- Windows Gaim Build Instructions
- Running Gaim from a USB Drive
Windows Gaim FAQ
- What happened to the Gaim systray icon? - As of 0.65 systray functionality has moved into the docklet plugin, labeled "System Tray Icon" in Gaim's plugins section (under Preferences). You will need to load this plugin for the systray features to work.
-
How does Win Gaim determine which language to use? - For the user who installed Win Gaim, the language selected during installation will be the default. This can be overridden by setting the
GAIMLANG
(as of v1.1.0) environmental variable (for exampleGAIMLANG=de
). If both of these methods fail, Win Gaim will fall back to the default Windows user locale setting. -
Where are my Gaim settings and data (including logs) saved? - As of 0.69,
shfolder.dll
is used to determine the location for a user's app data. On Windows ME this will be something likeC:\WINDOWS\Profiles\username
and on Win 2k/XPC:\Documents and Settings\username\Application Data
. This can be overridden by setting theGAIMHOME
environmental variable (as of v1.1.0). Logs are stored in this directory in a subdirectory called "logs." -
How do I make the fonts bigger? (GTK+ default font setting) - To change your default font and/or size, edit your
gtkrc
file (located in yourGTK\2.0\etc\gtk-2.0
dir), with the font name and size of your choosing. For example:
Note: If you are using the WIMP theme, this setting is overridden; you can either change Windows standard font sizes, which will likely make other applications have rather large text, or you can use the Extended Preferences plugin. The plugin offers more finely-grained control such as you would be able to achieve with a gtkrc file and a non-WIMP GTK+ theme.gtk-font-name="sans 8"
- Native Windows look and feel - GTK is themable, which means that you can change colors, fonts and how the actual widgets are drawn. The Gaim installer, gives you the choice of installing one of 3 GTK+ themes. If you choose GTK-Wimp, Gaim will look and feel like a normal Windows application (including on XP). To switch back to no theme or to change the theme just run the Gaim installer again and pick a different theme. You can visit the gtk-wimp site at http://gtk-wimp.sf.net
- Win Gaim Smiley Themes - You can drag and drop the Smiley Themes into Win Gaim. Simply download a theme to your machine (i.e. to your Desktop), bring up the Smiley theme list in Gaim's Preferences, and then drag and drop the saved theme into the Smiley themes list. You do not need to keep the file you downloaded.
-
How do I configure Norton Internet Security for Gaim? - Unfortunately, Norton Internet Security doesn't correctly respect specifying "Permit All" for a program, and the following additional settings are necessary for Gaim to function properly. Symantec has be notified of the problem, but attempts to get it resolved have been fruitless.
- Select Options -> Norton Internet Security
- Select the Firewall tab
- Under HTTP port list add the following ports:
- 443 -> MSN (ssl)
- 1863 -> MSN
- 5050 -> Yahoo
- 5190 -> AIM/ICQ
- 5222 -> Jabber (including Google Talk)
- 6667 -> IRC
-
How do I run multiple instances of Gaim? - As of 1.1.0, Gaim will prevent multiple instances from running simultaneously. You can override this restriction by defining the
GAIM_MULTI_INST
environmental variable. If you do this, you may find the-c
parameter useful to specify unique configuration directories for each instance (e.g.-c c:\home\.gaim
). - How do I upgrade Gaim? - Close any existing Gaim instances. Install the new version of Gaim. Start Gaim. The installer should detect your existing Gaim instllation and default to that directory, so you should not need to change the installation directory.
- Why do I get a "No disk in drive" (or similar) message? - There is a bug in one of the components of the GTK+ runtime (gettext). As a result, this component attempts to locate a configuration file on the I: drive. If you have an I: drive and it is a removable media drive such as a ZIP drive, CD/DVD-ROM drive, or flash card reader, you will see the an error message stating that there is no disk in the drive or asking you to insert a disk into the drive. If you can change your drive letters so that you have no I: (possible on Windows 2000 or XP), unplug the device if it is a USB device, or insert a disk or card into the drive before starting Gaim, this should silence the message. We hope to have a fixed GTK+ runtime soon. This error message can safely be ignored without any ill effects.
Major Windows Gaim Bugs and Workarounds
-
DLL Hell and Win Gaim - A very common but very unpleasant Windows SNAFU (known as DLL Hell) has been experienced by many Win Gaim users.
Symptom: Win Gaim crashes routinely on startup (but not neccessarily just on startup).
Cause: Dlls with the same name as those that Gaim uses are found in the dll search path and are used instead of those installed by Gaim, likely causing Gaim to malfunction. This can happen when application developers install their dlls to Windows system directories. The most commonly used dll to cause dll hell is
zlib.dll
.Solution: As of 0.72, depending on the windows version Gaim will either change working directory before loading
gaim.dll
, or will useSetDllDirectory
.Why did we move to using the GTK installer? More and more GTK apps are being ported to Windows, and rather than having each app install its own copies of the GTK dlls, it is better that GTK is installed in a common location to avoid having many duplicates of the same dll. There is more in-depth info about DLL Hell in this article.
Bug report #715975 is one instance of the problem just described. There are more..
-
TCL Loader Plugin + Cygwin = WinGaim crash - Starting with 0.75, Win Gaim comes with a tcl plugin loader. The loader plugin is dependant on
tcl84.dll
and will use the first one found in the dll search path. If you have a cygwin installation (with tcl 8.4), and have added its bin directory to yourPATH
, then WinGaim will crash on startup. The solution is to remove cygwin's bin directory from your path. Introducing cygwin dlls into the native win32 environment is a very bad idea, and is likely to cause problems with other programs. - GTK+ 2.8.x Unable to connect - It is not currently possible to use any version of WinGaim with any 2.8.x version of GTK+. Attempting to do so will result in an inability to connect and/or frequent disconnections. The issue is specifically in Glib 2.8.x. For those interested in the technical details, the GIOChannel implementation has been rewritten and appears to have some quirks - see the following bugzilla entry.
- GTK+ 2.6.9 causes GIMP crashes - The updated GTK-Wimp theme that was distributed with the Gaim GTK+ 2.6.9 installer (also included in the WinGaim 1.5.0 installer) triggers a bug in GTK+ that causes GIMP to crash. You should update to GTK+ 2.6.10 to resolve this. See the following bugzilla entry for more information.
-
Major GTK+ Bugs (that do not need reporting)
- The text entry cursor is somethimes missing.
- Double-clicking the docklet when the buddy list is obscured (i.e. behind another window) will minimize it to the tray rather than bringing it to the front. (bugzilla entry)
Standalone GTK+ Installer
gtk-runtime-2.6.10-rev-a.exeCheck ChangeLog.win32 for the changes in this GTK+ revision.
Unattended Installations
As of 0.73, unattended installations are possible. Simply do the following:
gaim-1.5.0.exe /L=1033 /S /D=C:\Gaim
Make sure to leave the /D
flag for last. The /L
flag sets the language (Windows LCID) used by the uninstaller, as well as Gaim itself. You may omit both the /L
and /D
flags and use the defaults which are 1033 (English) and C:\Program Files\Gaim
respectively. The same applies to non-gtk versions. If you need to specify the GTK+ install path (Default is C:\Program Files\Common Files\GTK\2.0
), then download the latest GTK+ installer from above, and do the following:
gtk-runtime-2.6.10-rev-a.exe /L=1033 /S /NOUI /D=C:\GTK+
gaim-1.5.0-no-gtk.exe /L=1033 /S /D=C:\Gaim
The GTK+ installer has two silent states. One with message boxes: /S
, and one without: /S /NOUI
. The reason for this is that the installer was made to run from within the Gaim installer where you would expect to see message boxes for errors.
Gaim Spell Checking
Aspell and Aspell dictionary installers
I will no longer support the aspell and aspell dict installers that I had previously posted here. From now on, Gaim will use the win32 aspell distribution from aspell.net/win32. To make use of Win Gaim's spell check feature you will need to download and install the aspell installer and at least one language dictionary. If you choose not to install Aspell, Gaim will still work. Gaim will also work with Aspell from previous Gaim installations.
Note: Don't forget to turn on spell checking in preferences.
Perl Plugin Support
To enable Perl Plugins in Win Gaim, you need to download and install ActivePerl 5.8, before installing Gaim (v0.69 and higher). If Gaim complains about not finding perl58.dll
, add the Perl bin dirctory to your PATH
.
TCL Plugin Support
To enable TCL Plugins in Win Gaim, you need to download and install ActiveTCL 8.4.5.0. Unlike Perl, you may install TCL after Gaim has been installed.
Debugging Windows Gaim
What to do if Gaim crashes
First make sure that you are not affected by 'Dll Hell' as described above. Download and install the debug version of WinGaim 1.5.0. The next time you run Gaim and it crashes, the call stack will be dumped to gaim.RPT
in your Gaim install dir. When submitting a bug report, give a detailed description on how to produce your bug and attach the most recent crash dump from your gaim.RPT
file.
Running Windows Gaim From a USB Drive
It is relatively easy to set up Gaim to run from a USB Drive. Most of Gaim is very good about not assuming that it is installed; a slightly customized launcher makes it all come together nicely.
The way that this is set up, other GTK+ applications can use the same GTK+ runtime.
Caveats
- SpellChecking doesn't work yet, it requires some minor changes that aren't in a released version of Gaim yet.
How to setup your USB-Drive Gaim
- Download and Install Gaim
- Prepare your USB Drive: (This assumes that your USB Drive is
U:
for the purpose of explanation)- Create a directory:
U:\Programs
(This can be whatever you want, the idea is that GTK and Gaim are at the same level) - Create
GTK
andGaim
directories in this directory.
- Create a directory:
- Copy a minimal part of your Gaim installation to the USB Drive from the installed instance of Gaim. The directory structure stays the same, but we don't need everything that is included in the standard installation.
- Copy the whole
pixmaps
andsounds
directories. - Create a
U:\Programs\Gaim\plugins
directory and copy the contents of the installedGaim\plugins
directory into it excludingperl.dll
,tcl.dll
. - If you want to use a language other than en_US, create a
U:\Programs\Gaim\locale
directory and copy any language directories that you want from your installedGaim\locale
directory. - Copy the contents of your root installed Gaim directory except
gaim.exe
,gaim-uninst.exe
, and if you don't want spellchecking support,libgtkspell.dll
. - Download gaim-portable.exe and put it in
U:\Programs\Gaim
. The file uses the same source as the standardgaim.exe
from versions 2.0.0 and newer, the difference being that when it was compiledPORTABLE
was defined which causes some of the initialization to be done differently.
- Copy the whole
- In the same spirit, create a minimal GTK+ runtime installation from your GTK+ installation.
- Copy the
bin
andetc
directories to yourU:\Programs\GTK
directory. - Create a
U:\Programs\GTK\lib
directory and copy the contents of the installed GTK+ runtime'slib
directory, except thelocale
subdirectory. - If you want to use a language other than en_US, create a
U:\Programs\GTK\lib\locale
directory and copy any language directories that you want from your installed GTK+ runtime'slib\locale
directory.
- Copy the
- You are done! Running
U:\Programs\Gaim\gaim-portable.exe
will cause gaim to run off the USB Drive, saving the settings, logs and etc. toU:\Programs\.gaim
.