-A: Type <code>patch -p0 < something.diff</code> from inside the
-Pidgin directory. If that doesn't work, try <code>patch -p1 < something.diff</code>.
-
!ANCHOR crash-on-start
Q: Why is Pidgin crashing when I start it?
@@ -176,87 +133,18 @@
<li>If you use 0.75 or higher on win32, try deleting <code>tcl.dll</code>.</li>
</ul>
-!ANCHOR svn
-Q: Pidgin <non-current version> is buggy. Pidgin SVN is buggy. Why?
+!ANCHOR mtn
+Q: Pidgin <non-current version> is buggy. Pidgin MTN is buggy. Why?
A: Non-current versions have old bugs which may be fixed in the
-current version--that's why we make new releases. SVN is
+current version--that's why we make new releases. MTN 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.
-Q: Why do you always say not to use SVN?
-
-A: That's a long story. For starters, see the previous question.
-It is often the case that Pidgin SVN 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 SVN 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 Pidgin SVN users to
-contact Pidgin developers and report the same (usually egregious) bug
-over and over - using time which could be better spent fixing the
-bugs.
-<p>
-A second major point involves public resources - an SVN 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[ed] 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. Naturally,
-this could easily become true of Sourceforge's SVN offering as well.
-It is better for the community if an enterprising individual wishing
-to fix a particular bug [s]he 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.
-</p>
-<p>
-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 Pidgin. As a
-third-party IM client, Pidgin is not a priority (and indeed may be an
-irritant) for the IM service providers. We do our best to keep Pidgin
-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.) Pidgin releases
-represent code which the Pidgin developers feel is relatively
-well-behaved and stable. This includes not only the interface seen by
-Pidgin users, but the traffic seen by IM service providers. Pidgin SVN
-bears no such guarantees.
-</p>
-<p>
-In short, there are a lot of good reasons to <i>not</i> use
-Pidgin SVN if one does not wish to develop Pidgin, Pidgin plugins, or a
-codebase which interacts with Pidgin in some intimate way. There are,
-however, only a few reasons <i>to</i> use Pidgin SVN outside of the
-above. Please weigh these things carefully and decide whether you
-wish to use Pidgin SVN for a good reason which furthers the community, or
-for selfish reasons which are not entirely important.
-</p>
!SECTION Using Pidgin
-Q: How do I register for a new account?
-
-A: This depends on the protocol.
-<p><b>AIM:</b> Go to <a href="http://my.screenname.aol.com/_cqr/login/login.psp?siteId=snshomepage&authLev=1&mcState=initialized&createSn=1">this website</a>.</p>
-<p><b>MSN</b> (including Hotmail email)<b>:</b> Go to <a href="http://registernet.passport.com/">http://registernet.passport.com/</a>.</p>
-<p><b>MSN</b> (using your own email address)<b>:</b> Go to
-"[something]")</code>, remove the semi-colon (which is the comment
-character) from the start of the line if it is there and replace whatever
-is between the second pair of quote marks with <code>Escape</code>. Save
-and close, and restart Pidgin.
-
Q: How do I use smiley themes?
A: To select a theme, open Pidgin's preferences to the "Smiley Themes"
--- a/gdb.php Tue Apr 24 03:17:46 2007 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-<?
- $page->title = 'GDB Help';
- require('inc/template.inc.php');
-?>
-
-<h1>What is a backtrace?</h1>
-
-<p>
- So Pidgin crashed on you again, huh? I'm sorry to hear that. Maybe you can help
- prevent it from happening again. To diagnose the problem, we need to know the
- last few functions that were called before Pidgin crashed. This output is
- called a "backtrace."
-</p>
-
-<h2>Using Ubuntu?</h2>
-<p>
-Please follow <a href="https://wiki.ubuntu.com/Backtrace">the instructions on the Ubuntu wiki</a>.
-</p>
-
-<h2>The Easy Way</h2>
-<p>
- If you are able to reproduce the crash, the easiest way to obtain a backtrace is by doing
- the following:
-</p>
-
-<pre>
-<code>[mark@diverge mark]$ <b>gdb pidgin</b>
-GNU gdb Red Hat Linux (5.3post-0.20021129.18rh)
-Copyright 2003 Free Software Foundation, Inc.
-GDB is free software, covered by the GNU General Public License, and you are
-welcome to change it and/or distribute copies of it under certain conditions.
-Type "show copying" to see the conditions.
-There is absolutely no warranty for GDB. Type "show warranty" for details.
-This GDB was configured as "i386-redhat-linux-gnu"...
-(no debugging symbols found)...
-(gdb) <b>handle SIGPIPE nostop</b>
-(gdb) <b>run</b>
-<i>(stuff scrolls by)</i>
-<i><b>(do whatever it is you did to get Pidgin to crash)</b></i>
-(gdb) <b>bt full</b>
-<i>(the bt scrolls by)</i>
-<i><b>(copy and paste all of this to your bug report)</b></i>
-(gdb) <b>quit</b>
-[mark@diverge mark]$</code>
-</pre>
-
-<h2>The Hard Way</h2>
-<h3>or <i>"How To Make Use Of A Core File"</i></h3>
-
-<p>
- When a program crashes it typically leaves a core file behind. In a console
- window when you run <code>ls</code>, you should see a file called
- <code>core</code>:
-</p>
-
-<pre>
-<code>~ $ <b>ls</b>
-core</code>
-</pre>
-
-<p>
- Sometimes this file is also called pidgin.core or something similar, depending
- on what OS you use and what your settings are. If you don't see this file,
- it's possible that it's in a different location, and you should look at the
- settings for your OS to see where it might be. It's also possible that the
- core file was not created at all; this would happen if your system was
- configured not to leave a core file. Often you just need to tell your shell
- to not restrict the size of core files (this may only work for bash):
-</p>
-
-<pre>
-<code>~ $ <b>ulimit -c unlimited</b></code>
-</pre>
-
-<p>
- If you have a core file, first check to make sure that it was created by Pidgin,
- by using <code>file</code> to examine it:
-</p>
-
-<pre>
-<code>~ $ <b>file core</b>
-core: ELF 32-bit LSB core file of 'pidgin' (signal 11), Intel 80386, version 1, from 'pidgin'</code>
-</pre>
-
-<p>
- The output of <code>file</code> may look different depending on your OS and
- hardware, but it should still be apparent that it was created by Pidgin.
-</p>
-<p>
- Now that you have the core file, you'll want to get the useful information out
- of it. In order to do that, you'll have to open it in GDB. GDB stands for GNU
- DeBugger, and is a very useful programmer's tool. It needs to know which
- application created the core file and what the core file name is, so run:
-</p>
-
-<pre>
-<code>~ $ <b>gdb pidgin core</b></code>
-</pre>
-
-<pre>
-<code>GNU gdb 5.0
-Copyright 2000 Free Software Foundation, Inc.
-GDB is free software, covered by the GNU General Public License, and you are
-welcome to change it and/or distribute copies of it under certain conditions.
-Type "show copying" to see the conditions.
-There is absolutely no warranty for GDB. Type "show warranty" for details.
-This GDB was configured as "i686-pc-linux-gnu"...
-Core was generated by `Pidgin'.
-Program terminated with signal 11, Segmentation fault.
-Reading symbols from /usr/lib/libesd.so.0...done.
-Loaded symbols for /usr/lib/libesd.so.0
-Reading symbols from /lib/libm.so.6...done.
-Loaded symbols for /lib/libm.so.6</code>
-</pre>
-
-<p>
- And so forth. There are a couple reasons why you might see something other
- than this. One reason is if gdb can't find something it needs, it might give a
- warning such as <code>"No such file or directory."</code>, in which case you
- may have to give the full path to both Pidgin and the core file. Another reason
- would be if the core file isn't created by Pidgin, you may see a message saying
- "warning: core file may not match specified executable file."
-</p>
-<p>
- If gdb loaded Pidgin and the core file successfully, then once it's done loading
- all the symbols that it will need, it should print the information from the
- top of the stack, and prompt you:
-</p>
-
-<pre>
-<code>#0 0x404f1140 in poll () from /lib/libc.so.6
-(gdb)</code>
-</pre>
-
-<p>
- Now you'll want to get the backtrace. At the prompt, type either
- <code>backtrace</code> or <code>bt</code>. gdb should then print a list of
- all the functions that were called leading up to the crash:
-</p>
-
-<pre>
-<code>(gdb) <b>backtrace</b>
-#0 0x404f1140 in poll () from /lib/libc.so.6
-#1 0x40325f99 in g_main_poll (timeout=-1, use_priority=0, priority=0) at gmain.c:1034
-#2 0x4032594d in g_main_iterate (block=1, dispatch=1) at gmain.c:808
-#3 0x40325cfc in g_main_run (loop=0x81becb0) at gmain.c:935
-#4 0x4023b4b7 in gtk_main () at gtkmain.c:524
-#5 0x805b131 in main (argc=1, argv=0xbffffa94) at aim.c:669
-#6 0x4044938b in __libc_start_main () from /lib/libc.so.6
-(gdb)</code>
-</pre>
-
-<p>
- When you get the backtrace, instead of seeing function names, you might see
- '??' instead. If that's the case, gdb couldn't read the function names from
- Pidgin and the core file, and so the core file won't end up being very useful
- after all. However, if you were able to see the function names, then copy all
- of the output from the backtrace and post a <a href="bug.php">bug report</a>.
- Be sure to also indicate what you were doing at the time.
-</p>
-<p>
- Now you can exit gdb by typing <code>quit</code>:
-</p>
-
-<pre>
-<code>(gdb) <b>quit</b>
-~ $</code>
-</pre>
-
-<p>
- There may be other useful information that can be retrieved from the core
- file, such as the values of variables. For this reason it's a good idea to
- keep the core file. If you upgrade Pidgin, the core file will no longer match
- the binary, and it won't be useful anymore; however, don't let that stop you
- from upgrading Pidgin, since there's a good chance your bug will have been
- fixed.
-</p>
-
-<h2>Distribution Notes</h2>
-<ul>
-<li>Debian: see <a href="http://wiki.debian.net/?HowToGetABacktrace">http://wiki.debian.net/?HowToGetABacktrace</a></li>
-<li>Fedora: Install the -debuginfo rpm first. See <a href="http://fedoraproject.org/wiki/StackTraces">http://fedoraproject.org/wiki/StackTraces</a></li>
-<li>Redhat: Install the -debuginfo rpm first</li>
-<li>Gentoo: emerge pidgin with USE=debug</li>
-</ul>
-
-<h2>Additional notes for those who want to do more</h2>
-
-<p>
- Often, you will see a backtrace where one or more of the top lines is in
- <code>malloc()</code> or <code>g_malloc()</code>. When this happens, chances
- are your backtrace isn't very useful. The easiest way to find some useful
- information is to set the environment variable <code>MALLOC_CHECK_</code> to
- a value of 2. In bash this would be</p>
- <pre><code>export MALLOC_CHECK_=2</code></pre>
-<p>
- You can re-run pidgin inside gdb to get a new backtrace. Note, this does not
- affect existing core files.
-</p>
-
--- a/gtkrc-2.0 Tue Apr 24 03:17:46 2007 +0000
+++ b/gtkrc-2.0 Fri Sep 21 01:50:21 2007 +0000
@@ -16,16 +16,16 @@
font_name = "Sans 10"
}
# Set the widget style for the conversation entry box
-widget "*gaim_gtkconv_entry" style "imhtml-fix"
+widget "*pidgin_conv_entry" style "imhtml-fix"
# Set the widget style for the conversation
-widget "*gaim_gtkconv_imhtml" style "imhtml-fix"
+widget "*pidgin_conv_imhtml" style "imhtml-fix"
# Set the widget style for the log viewer
-widget "*gaim_gtklog_imhtml" style "imhtml-fix"
+widget "*pidgin_log_imhtml" style "imhtml-fix"
# Set the widget style for IMHtml input widgets in request dialogs
# ctrl-a == move to beginning of line, ctrl-e == move to end of line, etc.
gtk-key-theme-name = "Emacs"
-#to let you edit your gaim key bindings
+#to let you edit your pidgin key bindings
#this requires changing the "Editable menu accelerators" in the GNOME System preferences (System -> Preferences -> Menu and Toolbar Preferences), and a similar setting in xfce4 in order to work.
+<p>Tonight we've released Pidgin 2.0.0beta7. This is the last in our long series of betas. We anticipate a final release later this week.</p>
+<p>While previous betas in the 2.0.0 series have been extremely stable, and we recommended their use, this release is actually of beta quality. This is our first release to reflect the name change from Gaim to Pidgin, and so there are a lot of fairly significant changes here, which we'd like to see have broader testing before declaring it ready for release. If you would like to help us out, grab a copy from <a href='http://sourceforge.net/project/showfiles.php?group_id=235&package_id=230234&release_id=504761'>Sourceforge.net</a></p>
+<p>I strongly recommend that you <b>backup your ~/.gaim directory</b> before running Pidgin for the first time. Windows users should see where their version of Windows stores their configuration files at our Win32 <a href='http://pidgin.im/win32/#faq'>FAQ</a>. Things you should be on the lookout for include problems with preferences being lost or forgotten, buddy icons not working as you expect, plugins or other external files not properly being found. If you find an issue that severely prohibits you from using 2.0.0beta7, please report it at <a href='http://developer.pidgin.im/'>http://developer.pidgin.im/</a>.</p>
+<p>There are a bunch of less fundamental, more cosmetic changes in this release that are sure to jump out at you. A lot of people have contributed a bunch in the transition from Gaim to Pidgin (and there's still a lot to be done), and we've been all too busy here to thank them all. I plan to acknowledge everyone with the 2.0.0 release. In the meantime, if you want to see what Pidgin developers are thinking, check out our currently-ugly <a href='http://planet.pidgin.im/'>Planet</a>.
+#
+Working towards 2.0.0
+April 22, 2007 - 11:28AM EDT
+<P>As you all have noticed, 2.0.0 is not yet released. The "we hope to have the final Pidgin 2.0.0 release late this week or early next" seems to have confused a lot of people, so here goes an update. As that text states, that was a hope -- and we aren't quite ready, yet. We're working on a preference migration plan that will allow us to move away from ~/.gaim as a preference directory, while disrupting users who continue to use Gaim and Pidgin from the same home directory as little as possible. Implementation is underway, but not yet completed. When it is, which we hope to be soon (but please, don't come asking about it every day in #pidgin), the current plan is to push a release candidate for testing and preliminary distro inclusion, with a final release to follow soon after.</P>
+#
Important and Long Delayed News
April 6th, 2007 - 6:19PM EDT
<p>Many years ago when this project was first started, it was called "GTK+ AOL Instant Messenger." AOL naturally complained, and Mark Spencer changed the name to "Gaim." AOL was appeased, and no one really ever heard of it because there were very few users back then.</p> <p>A few years later AOL trademarked "AIM," and started referring to their IM services using that name. They complained. The issue was brought up on Slashdot, and the Gaim developers at the time got some legal support. That legal support advised that the ongoing discussions with AOL be kept confidential until fully settled, and so it remained. The public thought the issue had gone away then. It sorta did, in that AOL stopped responding to Gaim's legal support for a while.</p> <p>Our legal support has changed several times, and each group of lawyers have recommended silence & secrecy. Around the time of Gaim's first 2.0.0 beta, AOL came back into our lives in a very strong way, this time threatening to sue Sean.</p> <p>This represents a clear pattern. AOL received more pushback than they expected, and would sort of let things stand for a while. Then they would threaten a different Gaim developer. Each time a new Gaim developer was threatened, we had to look at new legal support, to prevent a conflict of interest.</p> <p>This process could not go on forever. As a result we ended up forming the Instant Messaging Freedom Corporation, and making it legally responsible for Gaim. We also had our new legal support work to create a real settlement with AOL that would get this issue dismissed from our lives forever.</p> <p>Getting a settlement with AOL has taken FAR FAR longer than we would have ever guessed. On legal advice, we have refrained from any non-beta release during this process as a show of good faith, and to keep AOL from giving up on it. Again, on legal advice, we have also kept this information closely controlled.</p> <p>At long last, I am pleased to announce that we have a signed settlement and can release our new version. There is one catch however: we have had to change the project's name.</p> <p>After a long, and unfortunately secret debate (as we could not say why we were looking at a name change, we ended up just doing this ourselves), we settled on the name "Pidgin" for gaim itself, "libpurple" for libgaim (which, as of 2.0.0 beta6, exists), and "Finch" for gaim-text. Yes, the spelling of "Pidgin" is intentional, see <a href="http://en.wikipedia.org/wiki/Pidgin">http://en.wikipedia.org/wiki/Pidgin</a>.</p> <p>Since so much is changing between the name and the nature of the 2.0.0 release itself, we decided to go ahead with something we have talked about doing for a while now. We have set up our own server, kindly donated by DVLabs. As a result our new home will be www.pidgin.im and <a href="http://developer.pidgin.im">developer.pidgin.im</a> We, at least for now, will still be using SF's mirroring system for releases. However, the bug tracking will no longer be on SF, and we will be migrating the mailing lists at some point soon. Also, we have chosen to go with monotone for our revision control, rather than the SF cvs or svn.</p> <p>In the last week or so, an upgrade to SF's infrastructure caused an old version of the gaim-cabal list to become briefly public. It has always been our intention to end-of-life this list and make its archives public once the settlement was signed. Fortunately, the legal process has concluded, allowing us to make a formal announcement now, instead of months from now.</p> <p>I, and all of pidgin's development team have deeply hated the need to keep some portion of our work, decision making and discussion secret for a time. I sincerely apologize that as a result of this need, you all have had no chance to help us with it, and to provide feedback.</p> <p>Now that the settlement is signed, we hope to have the final Pidgin 2.0.0 release late this week or early next. </p> <p>We are going to release it with a 2.0.0 version number, and an API compatibility layer for plugin authors. The project has not changed; this is our 2.0.0 release, not some new program that requires new version numbering. </p>
-<p>Purple does not now and is not likely to encrypt the passwords in the
-<code>accounts.xml</code> file, nor is it likely to be encrypted in a
-future release. This is somewhat controversial in Windows, especially Windows
-98 due to its weak file protections, but that's the way things are.</p>
-
-<p>The reasoning for this is multi-part.</p>
-
-<p>Instant messaging is not very secure, and it's kind of pointless to
-spend a lot of time adding protections onto the fairly strong file
-protections of UNIX (our native platform) when the protocols themselves
-aren't all that secure. The way to truly know who you are talking to is
-to use an encryption plugin on both ends (such as OTR or
-gaim-encryption), and use verified GPG keys. Secondly, you shouldn't be
-using your instant messaging password for anything else. While
-some protocols have decent password security, others are insufficient
-and some (like IRC) don't have any at all.</p>
-
-<p>There are basically four approaches to password storage.</p>
-<ol>
-<li><b>Store a password(s) behind a password.</b> Basically this means that we
-require you to type in some passphrase as Purple starts in order to read the
-<code>accounts.xml</code> file, and, to be truely secure, require you to type it
-again if you write to it. Winicq does something very similar to this if
-you set it to its highest security settings.</li>
-<li><b>Obscure a password.</b> This means we do something to store the
-password in some format other than plain text, but we automatically convert
-it for you. This is security by obscurity, and is a Very Bad Thing™ in
-that it gives users a false sense of security. A false sense that we (Purple
-developers) believe would be worse to have than to let informed users
-deal with the password issue themselves. Consider that a naive user
-might think that it is safe to share his or her accounts.xml, because
-the passwords are "encrypted".</li>
-<li><b>Store the password in plain text and control access to the file.</b>
-This is what Purple does: the password is in <code>accounts.xml</code> in plain
-text, but the file itself is only readable by its owner. We allow the user
-to determine under what conditions sensitive files should be opened (if at all),
-and what constitutes a breach of security.</li>
-<li><b>Lastly, you can not store passwords at all.</b> This is Purple's default,
-and by far the most secure of all of the options.</li>
-</ol>
-
-<p>If you really wanted to, you could write a script to wrap Purple that
-would decrypt <code>accounts.xml</code> and re-encrypt it when Purple exits.
-You wouldn't be able to encrypt it while Purple is running, because Purple
-writes to <code>accounts.xml</code> for things like info change. This would
-minimize your exposure time unless (like me) you run Purple nearly 24/7.
-Personally, I feel that on any decent operating system, if someone can get to
-your files you should either be able to trust the person to not touch
-them, or you shouldn't be storing sensitive information there at all.</p>
--- a/plugins.php Tue Apr 24 03:17:46 2007 +0000
+++ b/plugins.php Fri Sep 21 01:50:21 2007 +0000
@@ -12,13 +12,13 @@
"TEXT" => "Makes use of Purple's IM interface to post, edit, view and track blogs"
),
*/
- "Meanwhile Protocol Plugin" => array(
+ "<del>Meanwhile Protocol Plugin" => array(
"URL" => "http://meanwhile.sourceforge.net/",
- "TEXT" => "The Meanwhile Project is an open implementation of the Lotus Sametime Community Client protocol."
+ "TEXT" => "The Meanwhile Project is an open implementation of the Lotus Sametime Community Client protocol.</del> <br/>The Meanwhile code has been merged into libpurple/Pidgin."
+ "TEXT" => "The Pidgin IRC Helper plugin which seeks to handle the rough edges of the IRC protocol through network-specific code.<br/>IRC Helper has moved to the plugin pack."
),
"gaim-encryption" => array(
@@ -47,6 +47,11 @@
"TEXT" => " PyGaim is a gaim plugin that enables Pidgin to be extensible with Python."
+ "TEXT" => "The Purple Plugin Pack is a collection of over 30 plugins for libpurple and Pidgin, including a few that implement often-requested features for Pidgin."
-<p><span style="color: #FF0000;">**Note**</span> 1.5.0 does <b>NOT</b> work with MSN and will crash trying to log in. Use <a href="http://sourceforge.net/project/showfiles.php?group_id=235&package_id=253">2.0.0beta3.1 or newer</a> to avoid this problem.</p>
+<p><span style="color: #FF0000;">**Note**</span> 1.5.0 does <b>NOT</b> work with MSN and will crash trying to log in. Use <a href="http://sourceforge.net/project/showfiles.php?group_id=235&package_id=230234">2.0.0beta3.1 or newer</a> to avoid this problem.</p>
<h1>Windows Pidgin</h1>
-<p>Grab the latest <a href="http://prdownloads.sourceforge.net/pidgin/gaim-<?php print $current_win32_version; ?>.exe">Windows build (v<?php print $current_win32_version; ?>)</a>, or if you already have GTK+ v<?php print $current_win32_gtk_version; ?> rev <?php print $current_win32_gtk_revision; ?> installed grab <a href="http://prdownloads.sourceforge.net/pidgin/gaim-<?php print $current_win32_version; ?>-no-gtk.exe">Windows Gaim without GTK+</a>.</p>
+<p>Grab the latest <a href="http://prdownloads.sourceforge.net/pidgin/pidgin-<?php print $current_win32_version; ?>.exe">Windows build (v<?php print $current_win32_version; ?>)</a>, or if you already have GTK+ v<?php print $current_win32_gtk_version; ?> rev <?php print $current_win32_gtk_revision; ?> installed grab <a href="http://prdownloads.sourceforge.net/pidgin/pidgin-<?php print $current_win32_version; ?>-no-gtk.exe">Windows Pidgin without GTK+</a>.</p>
+
+<p><span style="color: #FF0000;">**Note**</span> GTK+ versions newer than 2.6.10 do <b>NOT</b> work on Windows 95/98/ME. Use <a href="http://downloads.sourceforge.net/pidgin/gtk-runtime-2.6.10-rev-a.exe">the standalone 2.6.10 rev a</a> installer and download <a href="http://prdownloads.sourceforge.net/pidgin/pidgin-<?php print $current_win32_version; ?>-no-gtk.exe">Windows Pidgin without GTK+</a>.</p>
-<p>For the latest Windows Gaim specific changes, see <a href="ChangeLog.win32">ChangeLog.win32</a>. It includes information on GTK+ changes/fixes affecting Windows Gaim.</p>
+<p>For the latest Windows Pidgin specific changes, see <a href="ChangeLog.win32">ChangeLog.win32</a>. It sometimes includes information on GTK+ changes/fixes affecting Windows Pidgin.</p>
-<p>Windows Gaim users/developers are encouraged to congregate in #pidgin-win32 on irc.freenode.net.</p>
+<p>Windows Pidgin users/developers are encouraged to congregate in #pidgin-win32 on irc.freenode.net.</p>
<p>
-<b>NOTE:</b> Those who currently use <code>HOME</code> and <code>LANG</code> environmental variables to set Gaim's settings path and language, will need to use <code>GAIMHOME</code> and <code>GAIMLANG</code> as of version 1.1.0.
+<b>NOTE:</b> Those who previously used the <code>GAIMHOME</code> and <code>GAIMLANG</code> environmental variables to define the settings path and language, will need to use <code>PURPLEHOME</code> and <code>PIDGINLANG</code> as of version 2.0.0beta7.
</p>
<h3>Contents</h3>
<ul>
-<li><a href="#faq">Windows Gaim FAQ</a></li>
-<li><a href="#bugs">Major Windows Gaim Bugs & Workarounds</a></li>
+<li><a href="#faq">Windows Pidgin FAQ</a></li>
+<li><a href="#bugs">Major Windows Pidgin Bugs & Workarounds</a></li>
-<li><a href="#portable">Running Gaim from a USB Drive</a></li>
+<li><a href="#portable">Running Pidgin from a USB Drive</a></li>
</ul>
-<h2 id="faq">Windows Gaim FAQ</h2>
+<h2 id="faq">Windows Pidgin FAQ</h2> (These are being migrated to a wiki: <a href="http://developer.pidgin.im/wiki/Using%20Pidgin#WindowsSpecific">here</a>. Feel free to assist in the migration.)
<ul>
<li>
-<b>How does Win Gaim determine which language to use?</b> - For the user who installed Win Gaim, the language selected during installation will be the default. This can be overridden by setting the <code>GAIMLANG</code> (as of v1.1.0) environmental variable (for example <code>GAIMLANG=de</code>). If both of these methods fail, Win Gaim will fall back to the default Windows user locale setting.
+<b>How does Window Pidgin determine which language to use?</b> - <a href="http://developer.pidgin.im/wiki/Using%20Pidgin#HowdoesPidginforWindowsdeterminewhichlanguagetouse">See wiki</a>
</li>
<li>
@@ -52,11 +57,11 @@
</li>
<li>
-<b>Win Gaim Smiley Themes</b> - You can drag and drop the <a href="http://sourceforge.net/tracker/?atid=746976&group_id=235&func=browse">Smiley Themes</a> 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.
+<b>Smiley Themes</b> - You can drag and drop the <a href="http://sourceforge.net/tracker/?atid=746976&group_id=235&func=browse">Smiley Themes</a> into Pidgin. Simply download a theme to your machine (e.g. to your Desktop), bring up the Smiley theme list in the Preferences dialog, then drag and drop the saved theme into the Smiley themes list. You do not need to keep the file you downloaded.
</li>
<li>
-<b>How do I configure Norton Internet Security for Gaim?</b> - 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.
+<b>How do I configure Norton Internet Security for Pidgin?</b> - Unfortunately, Norton Internet Security doesn't correctly respect specifying "Permit All" for a program, and the following additional settings are necessary for Pidgin to function properly. Symantec has be notified of the problem, but attempts to get it resolved have been fruitless.
<ol>
<li>Select Options -> Norton Internet Security</li>
<li>Select the Firewall tab</li>
@@ -74,44 +79,31 @@
</li>
<li>
-<b>How do I run multiple instances of Gaim?</b> - As of 1.1.0, Gaim will prevent multiple instances from running simultaneously. You can override this restriction by defining the <code>GAIM_MULTI_INST</code> environmental variable. If you do this, you may find the <code>-c</code> parameter useful to specify unique configuration directories for each instance (e.g. <code>-c c:\home\.gaim</code>).
+<b>How do I run multiple instances of Pidgin?</b> - <a href="http://developer.pidgin.im/wiki/Using%20Pidgin#HowdoIrunmultipleinstancesofPidginonWindows">See wiki</a>
</li>
<li>
-<b>How do I upgrade Gaim?</b> - 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.
+<b>How do I upgrade Pidgin?</b> - Close any existing Pidgin instances. Install the new version of Pidgin. Start Pidgin. The installer should detect your existing installation and default to that directory, so you should not need to change the installation directory.
</li>
<li>
-<b>Why do I get a "No disk in drive" (or similar) message?</b> - **This has been fixed in the GTK+ 2.10.6 installer.** 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.
+<b>Why do I get a "No disk in drive" (or similar) message?</b> - **This has been fixed in the GTK+ 2.10.6 installer.** 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 Pidgin, this should silence the message. This error message can safely be ignored without any ill effects.
</li>
</ul>
-<h2 id="bugs">Major Windows Gaim Bugs and Workarounds</h2>
+<h2 id="bugs">Major Windows Pidgin Bugs and Workarounds</h2>
<ul>
<li>
-<p><b>DLL Hell and Win Gaim</b> - A very common but very unpleasant Windows SNAFU (known as DLL Hell) has been experienced by many Win Gaim users.</p>
-
-<p><b>Symptom:</b> Win Gaim crashes routinely on startup (but not neccessarily just on startup).</p>
-
-<p><b>Cause:</b> 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 <code>zlib.dll</code>.</p>
-
-<p><b>Solution</b>: As of 0.72, depending on the windows version Gaim will either change working directory before loading <code>gaim.dll</code>, or will use <code>SetDllDirectory</code>.</p>
-
-<p>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 <a href="http://www.desaware.com/Articles/DllHellL3.htm">this article</a>.</p>
-
-<p>Bug report <a href="http://sourceforge.net/tracker/index.php?func=detail&aid=715975&group_id=235&atid=100235">#715975</a> is one instance of the problem just described. There are more..</p>
-</li>
-<li>
-<b>TCL Loader Plugin + Cygwin = WinGaim crash</b> - Starting with 0.75, Win Gaim comes with a tcl plugin loader. The loader plugin is dependant on <code>tcl84.dll</code> 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 your <code>PATH</code>, 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.
+<b>TCL Loader Plugin + Cygwin = crash</b> - Starting with 0.75, Pidgin for Windows comes with a tcl plugin loader. The loader plugin is dependant on <code>tcl84.dll</code> 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 your <code>PATH</code>, then Pidgin may 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.
</li>
<li>
-<b>GTK+ 2.8.x Unable to connect</b> - Versions of WinGaim prior to 2.0.0beta4 do not work with GTK+ 2.8.0 or newer. The symptoms are 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 <a href="http://bugzilla.gnome.org/show_bug.cgi?id=324234">bugzilla entry</a>. To avoid this problem, use WinGaim 2.0.0beta4 or newer, or stick with GTK+ 2.6.10.
+<b>GTK+ 2.8.x Unable to connect</b> - Versions prior to 2.0.0beta4 do not work with GTK+ 2.8.0 or newer. The symptoms are 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 <a href="http://bugzilla.gnome.org/show_bug.cgi?id=324234">bugzilla entry</a>. To avoid this problem, use Pidgin 2.0.0beta4 or newer, or stick with GTK+ 2.6.10.
</li>
<li>
-<b>GTK+ 2.6.9 causes GIMP crashes</b> - 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 <a href="http://prdownloads.sourceforge.net/pidgin/gtk-runtime-2.6.10-rev-a.exe?download">GTK+ 2.6.10</a> to resolve this. See the following <a href="http://bugzilla.gnome.org/show_bug.cgi?id=314529">bugzilla entry</a> for more information.
+<b>GTK+ 2.6.9 causes GIMP crashes</b> - The updated GTK-Wimp theme that was distributed with our GTK+ 2.6.9 installer (also included in the Pidgin 1.5.0 installer) triggers a bug in GTK+ that causes GIMP to crash. You should update to <a href="http://prdownloads.sourceforge.net/pidgin/gtk-runtime-2.6.10-rev-a.exe?download">GTK+ 2.6.10</a> to resolve this. See the following <a href="http://bugzilla.gnome.org/show_bug.cgi?id=314529">bugzilla entry</a> for more information.
</li>
<li>
<b>Major GTK+ Bugs</b><i> (that do not need reporting)</i>
-<p>Make sure to leave the <code>/D</code> flag for last. The <code>/L</code> flag sets the language (Windows LCID) used by the uninstaller, as well as Gaim itself. You may omit both the <code>/L</code> and <code>/D</code> flags and use the defaults which are 1033 (English) and <code>C:\Program Files\Gaim</code> respectively. The same applies to non-gtk versions. If you need to specify the GTK+ install path (Default is <code>C:\Program Files\Common Files\GTK\2.0</code>), then download the latest GTK+ installer from above, and do the following:</p>
-<p>The GTK+ installer has two silent states. One with message boxes: <code>/S</code>, and one without: <code>/S /NOUI</code>. 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.</p>
+<p>Make sure to leave the <code>/D</code> flag for last. The <code>/L</code> flag sets the language (Windows LCID) used by the uninstaller, as well as Pidgin itself. You may omit both the <code>/L</code> and <code>/D</code> flags and use the defaults which are 1033 (English) and <code>C:\Program Files\Pidgin</code> respectively. The same applies to non-gtk versions. If you need to specify the GTK+ install path (Default is <code>C:\Program Files\Common Files\GTK\2.0</code>), then download the latest GTK+ installer from above, and do the following:</p>
+<p>The GTK+ installer has two silent states. One with message boxes: <code>/S</code>, and one without: <code>/S /NOUI</code>. The reason for this is that the installer was made to run from within the Pidgin installer where you would expect to see message boxes for errors.</p>
-<h2 id="spelling">Gaim Spell-checking</h2>
+<h2 id="spelling">Spell-checking</h2>
<h3>Aspell and Aspell dictionary installers</h3>
-<p>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 <a href="http://aspell.net/win32">aspell.net/win32</a>. To make use of Win Gaim's spell-checking 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.</p>
+<p>The Pidgin installer will attempt to download and install Aspell and a Aspell dictionary if you choose the appropriate options. If this isn't successful (e.g. due to a firewall or proxy that prevented the download), you can manually download and install Aspell and a dictionary from here: <a href="http://aspell.net/win32">aspell.net/win32</a>.</p>
<p>Note: Don't forget to turn on "Highlight misspelled words" in the preferences.</p>
<h2 id="perl">Perl Plugin Support</h2>
-<p>To enable Perl Plugins in Win Gaim, you need to download and install <a href="http://www.activestate.com/Products/Language_Distributions/">ActivePerl</a> 5.8, before installing Gaim (v0.69 and higher). If Gaim complains about not finding <code>perl58.dll</code>, add the Perl bin dirctory to your <code>PATH</code>.</p>
+<p>To enable Perl Plugins, you need to download and install <a href="http://www.activestate.com/Products/Language_Distributions/">ActivePerl</a> 5.8. If your plugins are not working, run <code>pidgin -d</code> and look for errors when loading <code>plugins\perl.dll</code>. If you see errors about not finding <code>perl58.dll</code>, add the Perl bin dirctory to your <code>PATH</code>.</p>
<h2 id="tcl">TCL Plugin Support</h2>
-<p>To enable TCL Plugins in Win Gaim, you need to download and install <a href="http://www.activestate.com/Products/Language_Distributions/">ActiveTCL</a> 8.4.5.0. Unlike Perl, you may install TCL after Gaim has been installed.</p>
+<p>To enable TCL Plugins, you need to download and install <a href="http://www.activestate.com/Products/Language_Distributions/">ActiveTCL</a> 8.4.5.0.</p>
-<h2 id="debug">Debugging Windows Gaim</h2>
-<h3>What to do if Gaim crashes</h3>
-<p>First make sure that you are not affected by 'Dll Hell' as described above. Download and install the debug version of WinGaim (<a href="http://prdownloads.sourceforge.net/pidgin/gaim-<?php print $current_win32_version; ?>-debug.exe"><?php print $current_win32_version; ?> is here</a>; for other versions, go to <a href="http://sourceforge.net/project/showfiles.php?group_id=235&package_id=253">the gaim file releases area on SF.net</a>). The next time you run Gaim and it crashes, the call stack will be dumped to <code>gaim.RPT</code> 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 <code>gaim.RPT</code> file.</p>
-<h2 id="portable">Running Windows Gaim From a USB Drive</h2>
-<p>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.</p>
+<h2 id="portable">Running Windows Pidgin From a USB Drive</h2>
+<p>It is relatively easy to set up Pidgin to run from a USB Drive. Most of Pidgin is very good about not assuming that it is installed; a slightly customized launcher makes it all come together nicely.</p>
<p>The way that this is set up, other GTK+ applications can use the same GTK+ runtime.</p>
<p>Caveats</p>
<ul>
<li>Spell-checking requires 2.0.0 beta3 or newer.</li>
</ul>
-<h3>How to setup your USB-Drive Gaim</h3>
+<h3>How to setup your USB-Drive Pidgin</h3>
<ul>
- <li>Download and Install Gaim</li>
+ <li>Download and Install Pidgin</li>
<li>Prepare your USB Drive: (This assumes that your USB Drive is <code>U:</code> for the purpose of explanation)
<ul>
- <li>Create a directory: <code>U:\Programs</code> (This can be whatever you want, the idea is that GTK and Gaim are at the same level)</li>
- <li>Create <code>GTK</code> and <code>Gaim</code> directories in this directory.</li>
+ <li>Create a directory: <code>U:\Programs</code> (This can be whatever you want, the idea is that GTK and Pidgin are at the same level)</li>
+ <li>Create <code>GTK</code> and <code>Pidgin</code> directories in this directory.</li>
</ul>
</li>
- <li>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.
+ <li>Copy a minimal part of your Pidgin installation to the USB Drive from the installed instance. The directory structure stays the same, but we don't need everything that is included in the standard installation.
<ul>
<li>Copy the whole <code>pixmaps</code> and <code>sounds</code> directories.</li>
- <li>Create a <code>U:\Programs\Gaim\plugins</code> directory and copy the contents of the installed <code>Gaim\plugins</code> directory into it excluding <code>perl.dll</code>, <code>tcl.dll</code>.</li>
- <li>If you want to use a language other than en_US, create a <code>U:\Programs\Gaim\locale</code> directory and copy any language directories that you want from your installed <code>Gaim\locale</code> directory.</li>
- <li>Copy the contents of your root installed Gaim directory except <code>gaim.exe</code>, <code>gaim-uninst.exe</code>, and if you don't want spell-checking support, <code>libgtkspell.dll</code>.</li>
- <li>Download <a href="gaim-portable.exe">gaim-portable.exe</a> (use <a href="gaim-portable.exe.pre200b4">this version</a> for versions of gaim older than 2.0.0beta4) and put it in <code>U:\Programs\Gaim</code>. The file uses the same source as the standard <code>gaim.exe</code> from versions 2.0.0 and newer, the difference being that when it was compiled <code>PORTABLE</code> was defined which causes some of the initialization to be done differently.</li>
+ <li>Create a <code>U:\Programs\Pidgin\plugins</code> directory and copy the contents of the installed <code>Pidgin\plugins</code> directory into it excluding <code>perl.dll</code>, <code>tcl.dll</code>.</li>
+ <li>If you want to use a language other than en_US, create a <code>U:\Programs\Pidgin\locale</code> directory and copy any language directories that you want from your installed <code>Pidgin\locale</code> directory.</li>
+ <li>Copy the contents of your root installed Pidgin directory except <code>pidgin.exe</code>, <code>pidgin-uninst.exe</code>, and if you don't want spell-checking support, <code>libgtkspell.dll</code>.</li>
+ <li>Download <a href="pidgin-portable.exe">pidgin-portable.exe</a> (use <a href="gaim-portable.exe">gaim-portable.exe</a> for 2.0.0beta4-6 or <a href="gaim-portable.exe.pre200b4">this version</a> for versions older than 2.0.0beta4) and put it in <code>U:\Programs\Pidgin</code>. The file uses the same source as the standard <code>pidgin.exe</code>, the difference being that when it was compiled <code>PORTABLE</code> was defined which causes some of the initialization to be done differently.</li>
</ul>
</li>
<li>In the same spirit, create a minimal GTK+ runtime installation from your GTK+ installation.
@@ -189,5 +186,5 @@
<li>Copy the <code>data</code> and <code>dict</code> subdirectories into <code>U:\Programs\Aspell</code>.</li>
</ul>
</li>
- <li>You are done! Running <code>U:\Programs\Gaim\gaim-portable.exe</code> will cause gaim to run off the USB Drive, saving the settings, logs and etc. to <code>U:\Programs\.gaim</code>.</li>
-</ul>
+ <li>You are done! Running <code>U:\Programs\Pidgin\pidgin-portable.exe</code> will cause pidgin to run off the USB Drive, saving the settings, logs and etc. to <code>U:\Programs\.purple</code>.</li>