# HG changeset patch # User Sadrul Habib Chowdhury # Date 1174959517 0 # Node ID 1071320641b9d2c1525fc0063a78c5375dc3ae1a # Parent 7db39d873d524ce904567e6c9792589e52ebef54# Parent ee397e53d9ce04a4646890dc82589514fbe8bb17 merge of '7e96b2a5202c1dd624ba497a2713aec816233996' and 'ac156097f694ba8977900a053e669e480c15e274' diff -r 7db39d873d52 -r 1071320641b9 AUTHORS --- a/AUTHORS Tue Mar 27 01:36:24 2007 +0000 +++ b/AUTHORS Tue Mar 27 01:38:37 2007 +0000 @@ -1,10 +1,10 @@ -gaim - the Pimpin' Penguin IM Clone that's Good for the Soul -============================================================ +Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul +========================================================================== For a complete list of all contributors, see the COPYRIGHT file. -We've got an IRC room now too, #gaim on irc.freenode.net (#wingaim for -Windows users). Come check us out. +We've got an IRC room now too, #pidgin on irc.freenode.net +(#winpidgin for Windows users). Come check us out. Current Developers: ------------------ diff -r 7db39d873d52 -r 1071320641b9 COPYRIGHT --- a/COPYRIGHT Tue Mar 27 01:36:24 2007 +0000 +++ b/COPYRIGHT Tue Mar 27 01:38:37 2007 +0000 @@ -1,8 +1,8 @@ -Gaim +Purple, Pidgin and Finch Copyright (C) 1998-2007 by the following: -If you have contributed to Gaim, you deserve to be on this list. -Contact us (see: AUTHORS) and we'll add you. +If you have contributed to this project then you deserve to be on this +list. Contact us (see: AUTHORS) and we'll add you. Saleem Abdulrasool Dave Ahlswede diff -r 7db39d873d52 -r 1071320641b9 ChangeLog --- a/ChangeLog Tue Mar 27 01:36:24 2007 +0000 +++ b/ChangeLog Tue Mar 27 01:38:37 2007 +0000 @@ -1,9 +1,4 @@ -2007-01-24 gettextize - - * Makefile.am (ACLOCAL_AMFLAGS): New variable. - (EXTRA_DIST): Add config.rpath, m4/ChangeLog. - -Gaim: The Pimpin' Penguin IM Client that's good for the soul! +Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.0.0: Build Changes: diff -r 7db39d873d52 -r 1071320641b9 ChangeLog.API --- a/ChangeLog.API Tue Mar 27 01:36:24 2007 +0000 +++ b/ChangeLog.API Tue Mar 27 01:38:37 2007 +0000 @@ -1,4 +1,4 @@ -Gaim: The Pimpin' Penguin IM Client that's good for the soul! +Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul version 2.0.0: Changed: diff -r 7db39d873d52 -r 1071320641b9 Doxyfile.in --- a/Doxyfile.in Tue Mar 27 01:36:24 2007 +0000 +++ b/Doxyfile.in Tue Mar 27 01:38:37 2007 +0000 @@ -431,9 +431,9 @@ # directories like "/usr/src/myproject". Separate the files or directories # with spaces. -INPUT = libgaim \ - gtk \ - console \ +INPUT = libpurple \ + finch \ + pidgin \ doc # If the value of the INPUT tag contains directories, you can use the @@ -586,9 +586,9 @@ # The IGNORE_PREFIX tag can be used to specify one or more prefixes that # should be ignored while generating the index headers. -IGNORE_PREFIX = Gaim \ - _Gaim \ - gaim +IGNORE_PREFIX = Purple \ + _Purple \ + purple #--------------------------------------------------------------------------- # configuration options related to the HTML output diff -r 7db39d873d52 -r 1071320641b9 NEWS --- a/NEWS Tue Mar 27 01:36:24 2007 +0000 +++ b/NEWS Tue Mar 27 01:38:37 2007 +0000 @@ -1,4 +1,4 @@ --=[ Gaim ]=- The Pimpin' Penguin IM Client That's Good For The Soul! +Pidgin and Finch: The Pimpin' Penguin IM Clients That're Good for the Soul 2.0.0beta6 (1/17/2006): Sean: Barring any seriously major new issues, we expect this to be diff -r 7db39d873d52 -r 1071320641b9 PLUGIN_HOWTO --- a/PLUGIN_HOWTO Tue Mar 27 01:36:24 2007 +0000 +++ b/PLUGIN_HOWTO Tue Mar 27 01:38:37 2007 +0000 @@ -1,20 +1,7 @@ -For information on writing a plugin for Gaim, go -http://gaim.sourceforge.net/api/ and see the HOWTOs in the -"Related Pages" section. +For information on writing a plugin for Purple, Pidgin or Finch, go +http://pidgin.im/api/ and see the HOWTOs in the "Related Pages" +section. You can also generate this documentation locally by installing -doxygen and graphviz dot, then running "make docs" in the Gaim +doxygen and graphviz dot, then running "make docs" in the source tree. The documentation will be in the docs/html directory. - -This next paragraph is old and possibly out of date: -Compilation of the plugins is fairly straight-forward; there is a -Makefile in this directory that has a rule for making the .so file -from a .c file. No modification of the Makefile should be necessary, -unless if you simply want to type 'make' to have it made; otherwise, -'make filename.so' will take filename.c and make the .so plugin from -it. If you need to link in with extra libraries, you can set the -environment variable PLUGIN_LIBS to be the libraries you want to link -with. - -It should be possible to compile plugins outside of the Gaim source -tree, which is a much cleaner solution. diff -r 7db39d873d52 -r 1071320641b9 README --- a/README Tue Mar 27 01:36:24 2007 +0000 +++ b/README Tue Mar 27 01:38:37 2007 +0000 @@ -1,28 +1,33 @@ -gaim +Purple, Pidgin and Finch ======================== -Rob Flynn IM: RobFlynn (current maintainer) -Syd Logan - Super Hacker and Resident Designated Driver -Jim Duchek IM: Zilding (former maintainer) -Eric Warmenhoven (retired) -Mark Spencer +See AUTHORS and COPYRIGHT for the list of contributors. + +libpurple is a library intended to be used by programmers seeking +to write an IM client that connects to many IM networks. It supports +AIM, ICQ, Jabber, MSN and Yahoo!, among others. -Gaim is an IM client that supports many protocols, including AIM, ICQ, -MSN, IRC, and Jabber. Gaim is NOT endorsed by, nor affiliated with, -AOL nor any other company in ANY way. +Pidgin is an graphical IM client written in C which uses the GTK+ +toolkit. +Finch is a text-based IM client written in C which uses the ncurses +toolkit. + +These programs are not endorsed by, nor affiliated with, AOL nor any +other company in any way. BUILD ===== Read the 'INSTALL' file for more detailed directions. -Gaim uses the standard ./configure ; make. You need to use gmake, BSD -make probably won't work. Remember, run ./configure --help to see what -build options are available. +These programs use the standard ./configure ; make. You need to use +gmake, BSD make probably won't work. Remember, run ./configure --help +to see what build options are available. -In order to compile Gaim, you need to have GTK+ 2.0 installed (as +In order to compile Pidgin you need to have GTK+ 2.0 installed (as well as the development files!). The configure script will fail if you -don't. You can get it from http://www.gtk.org/. +don't. If you don't have GTK+ 2.0 installed, you should install it +using your distribution's package management tools. For sound support, you also need gstreamer 0.10 or higher. For spellchecking support, you need libgtkspell (http://gtkspell.sf.net/). @@ -34,9 +39,9 @@ You should run 'make install' as root to make sure plugins and other files get installed into locations they want to be in. Once you've done that, -you only need to run 'gaim'. +you only need to run 'pidgin' or 'finch'. -Protocol plugins (prpls) are now automatically loaded. Simply go to the +Protocol plugins (PRPLs) are now automatically loaded. Simply go to the account editor, add a new account, and all supported protocols will be there. Be sure to use OSCAR (AIM/ICQ) and not the old TOC or ICQ plugins. @@ -46,12 +51,12 @@ PLUGINS ======= -If you do not wish to enable the plugin support within Gaim, run the +If you do not wish to enable the plugin support within Purple, run the ./configure script with the --disable-plugins option and recompile your source code. This will prevent the ability to load plugins. -'make install' puts the plugins in $PREFIX/lib/gaim (PREFIX being what -you specified when you ./configure'd - it defaults to /usr/local). Gaim +'make install' puts the plugins in $PREFIX/lib/purple (PREFIX being what +you specified when you ./configure'd - it defaults to /usr/local). Purple looks for the plugins in that directory by default, but they do not have to be there to use them. Also, plugins have a .so extension by default, though they do not have to. @@ -69,11 +74,7 @@ make sure to put double-quotes around the "%s", otherwise bad things may happen. -If you come across a bug, please report it to http://gaim.sf.net/bug.php. - -See README.SVN for information on the bleeding edge SVN version of Gaim. -You probably shouldn't use it, as it may eat your children, as well as -your settings. +If you come across a bug, please report it to http://pidgin.im/. PROTOCOL INFORMATION @@ -101,11 +102,11 @@ Oscar is the default protocol. It is recommended that you use Oscar for both AIM and ICQ, as TOC isn't very featureful and the old ICQ protocol no -longer works. +longer works. For AIM, Oscar can get people's away messages. It can request and accept -Direct Connections, and has limited support for file transfer. IM Image -does not currently work. It can send and receive buddy icons if you have +Direct Connections, and has limited support for file transfer. IM Image +does not currently work. It can send and receive buddy icons if you have GdkPixbuf. For ICQ, it supports nearly everything that the old ICQ plugin supported, @@ -120,7 +121,7 @@ Yahoo is currently using the new YMSG protocol that newer official Yahoo clients are using. This protocol is much better than the old one, and tends to be somewhat more reliable. However, the Yahoo service is still -flaky at best. +flaky at best. IRC (Ethan) @@ -134,27 +135,18 @@ IRC, /help will give you a list of them. -MSN (Christian) +MSN === With MSN you can join a conversation with several people, but you can't invite people from the IM window yet. -ICQ (Mark) -=== - -The ICQ plugin is deprecated and will probably be removed soon. The -protocol only marginally works. You should use Oscar for ICQ. You'll -need a different client to register an ICQ account if you don't have -one yet. - - Jabber (Nathan) ====== Transports aren't currently supported at all, though if you have a -transport already subscribed Gaim will use it (you can't add or remove +transport already subscribed Purple will use it (you can't add or remove transports though). In order to use a server other than jabber.org, set your username to include the server, e.g. warmenhoven@mycompany.com. This is the actual format of the Jabber ID anyway; Jabber is email with online @@ -162,23 +154,13 @@ appropriate box in the account editor for your Jabber account. -Napster (Mark) -======= - -Heh. Ok, so I (Rob) am on crack! Gaim can sign on/off of Napster, -add/remove people to your hotlist (buddylist) as well as chat privately -and in chat rooms. You can search for files and browse a list of other -user's files. You can currently download files as long as the person -you're retrieving files from is not firewalled. - - Zephyr (Sean) ====== Let me start off by saying how much I really despise Zephyr. They do a lot of things that make me realize why this never caught on. For those of you who are unfortunate enough to feel compelling need to use this, -gaim now has a Zephyr plugin. It can currently sign on/off, handles +Purple now has a Zephyr plugin. It can currently sign on/off, handles presence/buddy lists (it even imports your .anyone file!), and can send/receive personal messages. A lot of stuff is missing, this is just a real rough first stab at it. diff -r 7db39d873d52 -r 1071320641b9 config.h.mingw --- a/config.h.mingw Tue Mar 27 01:36:24 2007 +0000 +++ b/config.h.mingw Tue Mar 27 01:38:37 2007 +0000 @@ -26,10 +26,10 @@ #define ENABLE_NLS 1 /* Define to make assertions fatal (useful for debugging). */ -/* #undef GAIM_FATAL_ASSERTS */ +/* #undef PURPLE_FATAL_ASSERTS */ /* Define if plugins are enabled. */ -#define GAIM_PLUGINS 1 +#define PURPLE_PLUGINS 1 /* Define to 1 if you have `alloca', as a function or macro. */ #define HAVE_ALLOCA 1 @@ -523,7 +523,7 @@ #define PACKAGE "pidgin" /* Define to the address where bug reports for this package should be sent. */ -#define PACKAGE_BUGREPORT "gaim-devel@lists.sourceforge.net" +#define PACKAGE_BUGREPORT "devel@pidgin.im" /* Define to the full name of this package. */ #define PACKAGE_NAME "pidgin" diff -r 7db39d873d52 -r 1071320641b9 doc/PERL-HOWTO.dox --- a/doc/PERL-HOWTO.dox Tue Mar 27 01:36:24 2007 +0000 +++ b/doc/PERL-HOWTO.dox Tue Mar 27 01:38:37 2007 +0000 @@ -333,7 +333,7 @@ } @endcode -Now we can provide an UI for manipulating these preferences in our @prefs_info +Now we can provide an UI for manipulating these preferences in our @c prefs_info function. @code diff -r 7db39d873d52 -r 1071320641b9 finch/gntft.c --- a/finch/gntft.c Tue Mar 27 01:36:24 2007 +0000 +++ b/finch/gntft.c Tue Mar 27 01:38:37 2007 +0000 @@ -158,18 +158,12 @@ stop_button_cb(GntButton *button) { PurpleXfer *selected_xfer = gnt_tree_get_selection_data(GNT_TREE(xfer_dialog->tree)); - if (selected_xfer && selected_xfer->status == PURPLE_XFER_STATUS_STARTED) + if (selected_xfer && selected_xfer->status != PURPLE_XFER_STATUS_CANCEL_LOCAL && + selected_xfer->status != PURPLE_XFER_STATUS_CANCEL_REMOTE && + selected_xfer->status != PURPLE_XFER_STATUS_DONE) purple_xfer_cancel_local(selected_xfer); } -#if 0 -static void -tree_selection_changed_cb(GntTree *tree, GntTreeRow *old, GntTreeRow *current, gpointer n) -{ - xfer_dialog->selected_xfer = (PurpleXfer *)gnt_tree_get_selection_data(tree); -} -#endif - /************************************************************************** * Dialog Building Functions **************************************************************************/ @@ -209,8 +203,7 @@ gnt_tree_set_col_width(GNT_TREE(tree), COLUMN_STATUS, 10); gnt_tree_set_show_title(GNT_TREE(tree), TRUE); gnt_box_add_widget(GNT_BOX(window), tree); - /*g_signal_connect(G_OBJECT(tree), "selection-changed",*/ - /*G_CALLBACK(tree_selection_changed_cb), NULL);*/ + checkbox = gnt_check_box_new( _("Close this window when all transfers finish")); gnt_check_box_set_checked(GNT_CHECK_BOX(checkbox), !xfer_dialog->keep_open); @@ -430,6 +423,7 @@ g_free(remaining_str); if (purple_xfer_is_completed(xfer)) { gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, _("Finished")); + gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_REMAINING, _("Finished")); } else { gnt_tree_change_text(GNT_TREE(xfer_dialog->tree), xfer, COLUMN_STATUS, _("Transferring")); } diff -r 7db39d873d52 -r 1071320641b9 finch/gntrequest.c --- a/finch/gntrequest.c Tue Mar 27 01:36:24 2007 +0000 +++ b/finch/gntrequest.c Tue Mar 27 01:38:37 2007 +0000 @@ -582,6 +582,8 @@ data->dialog = window; gnt_box_set_title(GNT_BOX(window), title ? title : (savedialog ? _("Save File...") : _("Open File..."))); gnt_file_sel_set_current_location(sel, purple_home_dir()); /* XXX: */ + if (savedialog) + gnt_file_sel_set_suggested_filename(sel, filename); g_signal_connect(G_OBJECT(sel->cancel), "activate", G_CALLBACK(file_cancel_cb), data); g_signal_connect(G_OBJECT(sel->select), "activate", diff -r 7db39d873d52 -r 1071320641b9 finch/libgnt/gntfilesel.c --- a/finch/libgnt/gntfilesel.c Tue Mar 27 01:36:24 2007 +0000 +++ b/finch/libgnt/gntfilesel.c Tue Mar 27 01:38:37 2007 +0000 @@ -28,6 +28,7 @@ { GntFileSel *sel = GNT_FILE_SEL(widget); g_free(sel->current); + g_free(sel->suggest); if (sel->tags) { g_list_foreach(sel->tags, (GFunc)g_free, NULL); g_list_free(sel->tags); @@ -70,7 +71,8 @@ { char *old; const char *tmp; - tmp = (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files)); + tmp = sel->suggest ? sel->suggest : + (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files)); old = g_strdup_printf("%s%s%s", sel->current, sel->current[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : ""); gnt_entry_set_text(GNT_ENTRY(sel->location), old); g_free(old); @@ -230,6 +232,8 @@ static void file_sel_changed(GntWidget *widget, gpointer old, gpointer current, GntFileSel *sel) { + g_free(sel->suggest); + sel->suggest = NULL; update_location(sel); } @@ -449,12 +453,19 @@ return sel->dirsonly; } +void gnt_file_sel_set_suggested_filename(GntFileSel *sel, const char *suggest) +{ + sel->suggest = g_strdup(suggest); +} + char *gnt_file_sel_get_selected_file(GntFileSel *sel) { char *ret; - const char *tmp; - tmp = (const char*)gnt_tree_get_selection_data(sel->dirsonly ? GNT_TREE(sel->dirs) : GNT_TREE(sel->files)); - ret = g_strdup_printf("%s%s%s", sel->current, sel->current[1] ? G_DIR_SEPARATOR_S : "", tmp ? tmp : ""); + if (sel->dirsonly) { + ret = g_strdup(g_path_get_dirname(gnt_entry_get_text(GNT_ENTRY(sel->location)))); + } else { + ret = g_strdup(gnt_entry_get_text(GNT_ENTRY(sel->location))); + } return ret; } diff -r 7db39d873d52 -r 1071320641b9 finch/libgnt/gntfilesel.h --- a/finch/libgnt/gntfilesel.h Tue Mar 27 01:36:24 2007 +0000 +++ b/finch/libgnt/gntfilesel.h Tue Mar 27 01:38:37 2007 +0000 @@ -33,6 +33,7 @@ GntWidget *cancel; /* cancel button */ char *current; /* Full path of the current location */ + char *suggest; /* Suggested filename */ /* XXX: someone should make these useful */ gboolean must_exist; /* Make sure the selected file (the name entered in 'location') exists */ gboolean dirsonly; /* Show only directories */ @@ -73,6 +74,8 @@ void gnt_file_sel_set_multi_select(GntFileSel *sel, gboolean set); +void gnt_file_sel_set_suggested_filename(GntFileSel *sel, const char *suggest); + G_END_DECLS #endif /* GNT_FILE_SEL_H */ diff -r 7db39d873d52 -r 1071320641b9 libpurple/account.h --- a/libpurple/account.h Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/account.h Tue Mar 27 01:38:37 2007 +0000 @@ -211,14 +211,14 @@ /** * Close account requests registered for the given PurpleAccount * - * @param handle The account for which requests should be closed + * @param account The account for which requests should be closed */ void purple_account_request_close_with_account(PurpleAccount *account); /** * Close the account request for the given ui handle * - * @param handle The ui specific handle for which requests should be closed + * @param ui_handle The ui specific handle for which requests should be closed */ void purple_account_request_close(void *ui_handle); @@ -281,7 +281,7 @@ * Sets the account's buddy icon path. * * @param account The account. - * @param info The buddy icon non-cached path. + * @param path The buddy icon non-cached path. */ void purple_account_set_buddy_icon_path(PurpleAccount *account, const char *path); diff -r 7db39d873d52 -r 1071320641b9 libpurple/buddyicon.h --- a/libpurple/buddyicon.h Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/buddyicon.h Tue Mar 27 01:38:37 2007 +0000 @@ -182,8 +182,8 @@ * Returns the buddy icon's path. * * @param icon The buddy icon. - * - * @preturn The buddy icon's non-cached path. + * + * @return The buddy icon's non-cached path. */ const gchar *purple_buddy_icon_get_path(PurpleBuddyIcon *icon); diff -r 7db39d873d52 -r 1071320641b9 libpurple/eventloop.h --- a/libpurple/eventloop.h Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/eventloop.h Tue Mar 27 01:38:37 2007 +0000 @@ -138,7 +138,7 @@ * implement the input_get_error UI op. * * @param fd The input file descriptor. - * @param errno A pointer to an int which on return will have the error, or 0 if no error. + * @param error A pointer to an int which on return will have the error, or 0 if no error. * * @return 0 if there is no error; -1 if there is an error, in which case errno will be set. */ diff -r 7db39d873d52 -r 1071320641b9 libpurple/notify.h --- a/libpurple/notify.h Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/notify.h Tue Mar 27 01:38:37 2007 +0000 @@ -581,7 +581,7 @@ * Set the type of a PurpleNotifyUserInfoEntry * * @param user_info_entry The PurpleNotifyUserInfoEntry - * @param The PurpleNotifyUserInfoEntryType + * @param type The PurpleNotifyUserInfoEntryType */ void purple_notify_user_info_entry_set_type(PurpleNotifyUserInfoEntry *user_info_entry, PurpleNotifyUserInfoEntryType type); diff -r 7db39d873d52 -r 1071320641b9 libpurple/protocols/bonjour/bonjour.c --- a/libpurple/protocols/bonjour/bonjour.c Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/protocols/bonjour/bonjour.c Tue Mar 27 01:38:37 2007 +0000 @@ -460,7 +460,7 @@ else if (((fullname = getlogin()) != NULL) && (fullname[0] != '\0')) ; else - fullname = _("John Noname"); + fullname = _("Purple Person"); /* Make sure fullname is valid UTF-8. If not, try to convert it. */ if (!g_utf8_validate(fullname, -1, NULL)) { @@ -548,7 +548,8 @@ /* Try to figure out a good host name to use */ /* TODO: Avoid 'localhost,' if possible */ if (gethostname(hostname, 255) != 0) { - purple_debug_warning("bonjour", "Error %d when getting host name. Using \"localhost.\"\n", errno); + purple_debug_warning("bonjour", "Error when getting host name: %s. Using \"localhost.\"\n", + strerror(errno)); strcpy(hostname, "localhost"); } default_hostname = g_strdup(hostname); diff -r 7db39d873d52 -r 1071320641b9 libpurple/protocols/bonjour/issues.txt --- a/libpurple/protocols/bonjour/issues.txt Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/protocols/bonjour/issues.txt Tue Mar 27 01:38:37 2007 +0000 @@ -2,17 +2,8 @@ ============= Known issues =============== ========================================== -(1) Messages are limited in length (5000 char) <-- FIXED -(2) Messages formated by Gaim didn't work <-- FIXED -(3) iChat sends the size in points, Gaim wants a 1..7 range <-- FIXED Gaim2iChat (iChat2Gaim left) -(4) When the other end closes the socket without sending the end of stream, Gaim crashes and coredump <-- FIXED -(5) I18n -(6) Status changes don't work -(7) When the conversation is closed in Gaim with the X button, we don't send the end of stream <-- FIXED -(8) The server socket is not reusable, after an error, you cannot connect for a while <-- FIXED -(9) Avatars -(10) File transfers -(11) Typing notifications -(12) Gaim HTML syntax is not shown properly <-- FIXED -(13) Strange messages creates coredump <-- FIXED -(14) Check if it works on win32 +* Status changes don't work +* Avatars +* File transfers +* Typing notifications +* Check if it works on win32 diff -r 7db39d873d52 -r 1071320641b9 libpurple/protocols/silc/README --- a/libpurple/protocols/silc/README Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/protocols/silc/README Tue Mar 27 01:38:37 2007 +0000 @@ -1,12 +1,12 @@ -SILC Gaim Plugin -================ +SILC Purple Plugin +================== -This is Gaim protocol plugin of the protocol called Secure Internet Live -Conferencing (SILC). The implementation will use the SILC Toolkit, +This is the Purple protocol plugin of the protocol called Secure Internet +Live Conferencing (SILC). The implementation will use the SILC Toolkit, freely available from the http://silcnet.org/ site, for the actual SILC protocol implementation. -To include the SILC into Gaim, one needs to first compile and install +To include SILC into Purple, one needs to first compile and install the SILC Toolkit. It is done as follows: ./configure --enable-shared @@ -17,7 +17,7 @@ is not given to ./configure, the binaries are installed into the /usr/local/silc directory. -Once the Toolkit is installed one needs to tell for the Gaim ./configure +Once the Toolkit is installed one needs to tell Purple's ./configure script where the SILC Toolkit is located. It is done as simply as: ./configure @@ -27,5 +27,5 @@ ./configure --with-silc-libs=/path/to/silc/lib --with-silc-includes=/path/to/silc/include -If the Toolkit cannot be located the SILC will not be compiled into the -Gaim. +If the SILC Toolkit cannot be found then the SILC protocol plugin will +not be compiled. diff -r 7db39d873d52 -r 1071320641b9 libpurple/protocols/silc/TODO --- a/libpurple/protocols/silc/TODO Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/protocols/silc/TODO Tue Mar 27 01:38:37 2007 +0000 @@ -2,7 +2,7 @@ ===================== Sending images - - Sending images to channel too, if Gaim allows it. + - Sending images to channel too, if libpurple allows it. Preferences - Add joined channels to buddy list automatically (during diff -r 7db39d873d52 -r 1071320641b9 libpurple/savedstatuses.h --- a/libpurple/savedstatuses.h Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/savedstatuses.h Tue Mar 27 01:38:37 2007 +0000 @@ -213,9 +213,9 @@ /** * Set whether accounts in Purple are idle-away or not. * - * @param TRUE if accounts should be switched to use the - * idle-away saved status. FALSE if they should - * be switched to use the default status. + * @param idleaway TRUE if accounts should be switched to use the + * idle-away saved status. FALSE if they should + * be switched to use the default status. */ void purple_savedstatus_set_idleaway(gboolean idleaway); diff -r 7db39d873d52 -r 1071320641b9 libpurple/server.h --- a/libpurple/server.h Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/server.h Tue Mar 27 01:38:37 2007 +0000 @@ -38,7 +38,7 @@ * * TODO: Could probably move this into the conversation API. * - * @param typing One of PURPLE_TYPING, PURPLE_TYPED, or PURPLE_NOT_TYPING. + * @param state One of PURPLE_TYPING, PURPLE_TYPED, or PURPLE_NOT_TYPING. * @return A quiet-period, specified in seconds, where Purple will not * send any additional typing notification messages. Most * protocols should return 0, which means that no additional @@ -94,13 +94,13 @@ * @param data The hash function should be g_str_hash() and the equal * function should be g_str_equal(). */ -void serv_join_chat(PurpleConnection *, GHashTable *); +void serv_join_chat(PurpleConnection *, GHashTable *data); /** * @param data The hash function should be g_str_hash() and the equal * function should be g_str_equal(). */ -void serv_reject_chat(PurpleConnection *, GHashTable *); +void serv_reject_chat(PurpleConnection *, GHashTable *data); /** * @param data The hash function should be g_str_hash() and the equal diff -r 7db39d873d52 -r 1071320641b9 libpurple/win32/libpurplerc.rc.in --- a/libpurple/win32/libpurplerc.rc.in Tue Mar 27 01:36:24 2007 +0000 +++ b/libpurple/win32/libpurplerc.rc.in Tue Mar 27 01:38:37 2007 +0000 @@ -16,12 +16,12 @@ BEGIN VALUE "CompanyName", "The Pidgin developer community" VALUE "FileDescription", "LibPurple Library" - VALUE "FileVersion", "@PIDGIN_VERSION@" + VALUE "FileVersion", "@PURPLE_VERSION@" VALUE "InternalName", "libpurple" VALUE "LegalCopyright", "Copyright (C) 1998-2007 The Pidgin developer community (See the COPYRIGHT file in the source distribution)." VALUE "OriginalFilename", "libpurple.dll" VALUE "ProductName", "LibPurple" - VALUE "ProductVersion", "@PIDGIN_VERSION@" + VALUE "ProductVersion", "@PURPLE_VERSION@" END END BLOCK "VarFileInfo" diff -r 7db39d873d52 -r 1071320641b9 pidgin.spec.in --- a/pidgin.spec.in Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin.spec.in Tue Mar 27 01:38:37 2007 +0000 @@ -270,7 +270,7 @@ if [ "$1" -gt 1 -a -n "`which gconftool-2 2>/dev/null`" ]; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule \ - %{_sysconfdir}/gconf/schemas/gaim.schemas >/dev/null || : + %{_sysconfdir}/gconf/schemas/purple.schemas >/dev/null || : killall -HUP gconfd-2 || : fi @@ -278,7 +278,7 @@ if [ -n "`which gconftool-2 2>/dev/null`" ]; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-install-rule \ - %{_sysconfdir}/gconf/schemas/gaim.schemas > /dev/null || : + %{_sysconfdir}/gconf/schemas/purple.schemas > /dev/null || : killall -HUP gconfd-2 || : fi /sbin/ldconfig @@ -287,7 +287,7 @@ if [ "$1" -eq 0 -a -n "`which gconftool-2 2>/dev/null`" ]; then export GCONF_CONFIG_SOURCE=`gconftool-2 --get-default-source` gconftool-2 --makefile-uninstall-rule \ - %{_sysconfdir}/gconf/schemas/gaim.schemas > /dev/null || : + %{_sysconfdir}/gconf/schemas/purple.schemas > /dev/null || : killall -HUP gconfd-2 || : fi @@ -319,7 +319,7 @@ %{_datadir}/sounds/pidgin/* %{_datadir}/applications/* %{_libdir}/libpurple.so.* -%{_sysconfdir}/gconf/schemas/gaim.schemas +%{_sysconfdir}/gconf/schemas/purple.schemas %if 0%{?_with_dbus:1} %{_bindir}/purple-client-example diff -r 7db39d873d52 -r 1071320641b9 pidgin/gtkaccount.c --- a/pidgin/gtkaccount.c Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/gtkaccount.c Tue Mar 27 01:38:37 2007 +0000 @@ -231,7 +231,7 @@ /* Show a placeholder icon */ gchar *filename; filename = g_build_filename(DATADIR, "pixmaps", - "purple", "insert-image.png", NULL); + "pidgin", "insert-image.png", NULL); pixbuf = gdk_pixbuf_new_from_file(filename, NULL); g_free(filename); } @@ -629,7 +629,7 @@ set_dialog_icon(dialog, g_strdup(purple_account_get_ui_string(dialog->account, PIDGIN_UI, "non-global-buddyicon-cached-path", NULL)), - g_strdup(purple_account_get_ui_string(dialog->account, + g_strdup(purple_account_get_ui_string(dialog->account, PIDGIN_UI, "non-global-buddyicon-path", NULL))); } else { set_dialog_icon(dialog, NULL, NULL); @@ -2142,12 +2142,12 @@ /* Translators: Please maintain the use of -> or <- to represent the menu heirarchy */ pretty = pidgin_make_pretty_arrows(_( "Welcome to " PIDGIN_NAME "!\n\n" - + "You have no IM accounts configured. To start connecting with " PIDGIN_NAME " " "press the Add button below and configure your first " "account. If you want " PIDGIN_NAME " to connect to multiple IM accounts, " "press Add again to configure them all.\n\n" - + "You can come back to this window to add, edit, or remove " "accounts from Accounts->Add/Edit in the Buddy " "List window")); @@ -2439,7 +2439,7 @@ buffer = make_info(account, gc, remote_user, id, alias, msg); alert = pidgin_make_mini_dialog(gc, PIDGIN_STOCK_DIALOG_QUESTION, - _("Add buddy to your list?"), buffer, data, + _("Add buddy to your list?"), buffer, data, _("Add"), G_CALLBACK(add_user_cb), _("Cancel"), G_CALLBACK(free_add_user_data), NULL); pidgin_blist_add_alert(alert); @@ -2515,27 +2515,27 @@ aa->account = account; alert = pidgin_make_mini_dialog(gc, PIDGIN_STOCK_DIALOG_QUESTION, _("Authorize buddy?"), buffer, aa, - _("Authorize"), authorize_and_add_cb, - _("Deny"), deny_no_add_cb, + _("Authorize"), authorize_and_add_cb, + _("Deny"), deny_no_add_cb, NULL); } else { alert = pidgin_make_mini_dialog(gc, PIDGIN_STOCK_DIALOG_QUESTION, _("Authorize buddy?"), buffer, user_data, - _("Authorize"), auth_cb, - _("Deny"), deny_cb, + _("Authorize"), auth_cb, + _("Deny"), deny_cb, NULL); } pidgin_blist_add_alert(alert); g_free(buffer); - + return NULL; } static void pidgin_accounts_request_close(void *ui_handle) { - + } static PurpleAccountUiOps ui_ops = diff -r 7db39d873d52 -r 1071320641b9 pidgin/gtkstatusbox.c --- a/pidgin/gtkstatusbox.c Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/gtkstatusbox.c Tue Mar 27 01:38:37 2007 +0000 @@ -279,7 +279,7 @@ if (!g_ascii_strncasecmp(name, "file://", 7)) { GError *converr = NULL; gchar *tmp, *rtmp; - + if(!(tmp = g_filename_from_uri(name, NULL, &converr))) { purple_debug(PURPLE_DEBUG_ERROR, "buddyicon", "%s\n", (converr ? converr->message : @@ -559,7 +559,7 @@ PurpleAccount *acct = (status_box->token_status_account) ? status_box->token_status_account : status_box->account; icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL); - + style = gtk_widget_get_style(GTK_WIDGET(status_box)); snprintf(aa_color, sizeof(aa_color), "#%02x%02x%02x", style->text_aa[GTK_STATE_NORMAL].red >> 8, @@ -584,7 +584,7 @@ if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path)) return; gtk_tree_path_free(path); - + gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, TYPE_COLUMN, &type, DATA_COLUMN, &data, @@ -688,7 +688,7 @@ } } #endif - + } if (status_box->account != NULL) { @@ -824,7 +824,7 @@ break; } g_free(name); - + } else if ((type == PIDGIN_STATUS_BOX_TYPE_POPULAR) && (GPOINTER_TO_INT(data) == purple_savedstatus_get_creation_time(saved_status))) { @@ -1186,7 +1186,7 @@ cache_pixbufs(PidginStatusBox *status_box) { GtkIconSize icon_size; - + g_object_set(G_OBJECT(status_box->icon_rend), "xpad", 3, NULL); icon_size = gtk_icon_size_from_name(PIDGIN_ICON_SIZE_TANGO_EXTRA_SMALL); @@ -1311,14 +1311,14 @@ #endif GtkRequisition popup_req; GtkPolicyType hpolicy, vpolicy; - + gdk_window_get_origin (GTK_WIDGET(status_box)->window, x, y); *x += GTK_WIDGET(status_box)->allocation.x; *y += GTK_WIDGET(status_box)->allocation.y; - + *width = GTK_WIDGET(status_box)->allocation.width; - + hpolicy = vpolicy = GTK_POLICY_NEVER; gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (status_box->scrolled_window), hpolicy, vpolicy); @@ -1336,7 +1336,7 @@ #if GTK_CHECK_VERSION(2,2,0) screen = gtk_widget_get_screen (GTK_WIDGET (status_box)); - monitor_num = gdk_screen_get_monitor_at_window (screen, + monitor_num = gdk_screen_get_monitor_at_window (screen, GTK_WIDGET (status_box)->window); gdk_screen_get_monitor_geometry (screen, monitor_num, &monitor); @@ -1344,7 +1344,7 @@ *x = monitor.x; else if (*x + *width > monitor.x + monitor.width) *x = monitor.x + monitor.width - *width; - + if (*y + GTK_WIDGET(status_box)->allocation.height + *height <= monitor.y + monitor.height) *y += GTK_WIDGET(status_box)->allocation.height; else if (*y - *height >= monitor.y) @@ -1354,7 +1354,7 @@ *y += GTK_WIDGET(status_box)->allocation.height; *height = monitor.y + monitor.height - *y; } - else + else { *height = *y - monitor.y; *y = monitor.y; @@ -1363,7 +1363,7 @@ if (popup_req.height > *height) { vpolicy = GTK_POLICY_ALWAYS; - + gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (status_box->scrolled_window), hpolicy, vpolicy); } @@ -1406,8 +1406,8 @@ { int width, height, x, y; pidgin_status_box_list_position (box, &x, &y, &width, &height); - - gtk_widget_set_size_request (box->popup_window, width, height); + + gtk_widget_set_size_request (box->popup_window, width, height); gtk_window_move (GTK_WINDOW (box->popup_window), x, y); gtk_widget_show(box->popup_window); gtk_widget_grab_focus (box->tree_view); @@ -1442,7 +1442,7 @@ toggled_cb(GtkWidget *widget, PidginStatusBox *box) { if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (widget))) { - if (!box->popup_in_progress) + if (!box->popup_in_progress) pidgin_status_box_popup (box); } else { pidgin_status_box_popdown(box); @@ -1531,38 +1531,38 @@ { if (status_box->active_row) gtk_tree_row_reference_free(status_box->active_row); - + status_box->active_row = gtk_tree_row_reference_new(GTK_TREE_MODEL(status_box->dropdown_store), path); - + pidgin_status_box_popdown (status_box); pidgin_status_box_changed(status_box); } -static gboolean -treeview_button_release_cb(GtkWidget *widget, GdkEventButton *event, PidginStatusBox *status_box) +static gboolean +treeview_button_release_cb(GtkWidget *widget, GdkEventButton *event, PidginStatusBox *status_box) { GtkTreePath *path = NULL; int ret; GtkWidget *ewidget = gtk_get_event_widget ((GdkEvent *)event); - + if (ewidget != status_box->tree_view) { - if (ewidget == status_box->toggle_button && + if (ewidget == status_box->toggle_button && status_box->popup_in_progress && gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (status_box->toggle_button))) { pidgin_status_box_popdown (status_box); return TRUE; } - + /* released outside treeview */ - if (ewidget != status_box->toggle_button) + if (ewidget != status_box->toggle_button) { pidgin_status_box_popdown (status_box); return TRUE; } - + return FALSE; } - + ret = gtk_tree_view_get_path_at_pos (GTK_TREE_VIEW (status_box->tree_view), event->x, event->y, &path, @@ -1570,7 +1570,7 @@ if (!ret) return TRUE; /* clicked outside window? */ - + treeview_activate_current_selection(status_box, path); gtk_tree_path_free (path); @@ -1620,7 +1620,7 @@ status_box->cell_view = gtk_cell_view_new(); status_box->vsep = gtk_vseparator_new(); status_box->arrow = gtk_arrow_new (GTK_ARROW_DOWN, GTK_SHADOW_NONE); - + status_box->store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); status_box->dropdown_store = gtk_list_store_new(NUM_COLUMNS, G_TYPE_INT, GDK_TYPE_PIXBUF, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_POINTER); ; @@ -1696,7 +1696,7 @@ gtk_tree_view_set_search_column(GTK_TREE_VIEW(status_box->tree_view), TEXT_COLUMN); gtk_tree_view_set_search_equal_func(GTK_TREE_VIEW(status_box->tree_view), pidgin_tree_view_search_equal_func, NULL, NULL); - + #if GTK_CHECK_VERSION(2, 6, 0) g_object_set(text_rend, "ellipsize", PANGO_ELLIPSIZE_END, NULL); #endif @@ -1907,7 +1907,7 @@ gtk_paint_box(widget->style, widget->window, GTK_STATE_NORMAL, GTK_SHADOW_OUT, NULL, status_box->icon_box, "button", status_box->icon_box->allocation.x-1, status_box->icon_box->allocation.y-1, 34, 34); - } + } return FALSE; } @@ -2064,7 +2064,7 @@ /* Show a placeholder icon */ gchar *filename; filename = g_build_filename(DATADIR, "pixmaps", - "purple", "insert-image.png", NULL); + "pidgin", "insert-image.png", NULL); status_box->buddy_icon = gdk_pixbuf_new_from_file(filename, NULL); g_free(filename); } @@ -2138,7 +2138,7 @@ char *message; PurpleSavedStatus *saved_status = NULL; gboolean changed = TRUE; - + path = gtk_tree_row_reference_get_path(status_box->active_row); if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path)) return; @@ -2188,7 +2188,7 @@ const char *id = NULL; GtkTreePath *path = gtk_tree_row_reference_get_path(status_box->active_row); active = gtk_tree_path_get_indices(path)[0]; - + gtk_tree_path_free(path); status = purple_account_get_active_status(status_box->token_status_account); @@ -2386,13 +2386,13 @@ GList *accounts = NULL, *node; int active; - + if (!gtk_tree_model_get_iter (GTK_TREE_MODEL(status_box->dropdown_store), &iter, path)) return; active = gtk_tree_path_get_indices(path)[0]; gtk_tree_path_free(path); g_object_set_data(G_OBJECT(status_box), "active", GINT_TO_POINTER(active)); - + gtk_tree_model_get(GTK_TREE_MODEL(status_box->dropdown_store), &iter, TYPE_COLUMN, &type, DATA_COLUMN, &data, diff -r 7db39d873d52 -r 1071320641b9 pidgin/gtkutils.h --- a/pidgin/gtkutils.h Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/gtkutils.h Tue Mar 27 01:38:37 2007 +0000 @@ -393,7 +393,7 @@ * @param primitive The status primitive * @param w The widget to render this * @param size The icon size to render at - * @retrun A GdkPixbuf, created from stock + * @return A GdkPixbuf, created from stock */ GdkPixbuf * pidgin_create_status_icon(PurpleStatusPrimitive primitive, GtkWidget *w, const char *size); diff -r 7db39d873d52 -r 1071320641b9 pidgin/pidginstock.h --- a/pidgin/pidginstock.h Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/pidginstock.h Tue Mar 27 01:38:37 2007 +0000 @@ -1,5 +1,5 @@ /** - * @file gtkstock.h GTK+ Stock resources + * @file pidginstock.h GTK+ Stock resources * @ingroup gtkui * * pidgin diff -r 7db39d873d52 -r 1071320641b9 pidgin/pixmaps/Makefile.mingw --- a/pidgin/pixmaps/Makefile.mingw Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/pixmaps/Makefile.mingw Tue Mar 27 01:38:37 2007 +0000 @@ -18,24 +18,24 @@ $(MAKE) -C $$subdir -f $(GAIM_WIN32_MAKEFILE) install || exit 1 ;\ done; \ fi; - if test '$(gaimbuttonpix_DATA)'; then \ - mkdir -p $(gaimbuttonpixdir); \ - cp $(gaimbuttonpix_DATA) $(gaimbuttonpixdir); \ + if test '$(pidginbuttonpix_DATA)'; then \ + mkdir -p $(pidginbuttonpixdir); \ + cp $(pidginbuttonpix_DATA) $(pidginbuttonpixdir); \ fi; - if test '$(gaimdialogpix_DATA)'; then \ - mkdir -p $(gaimdialogpixdir); \ - cp $(gaimdialogpix_DATA) $(gaimdialogpixdir); \ + if test '$(pidgindialogpix_DATA)'; then \ + mkdir -p $(pidgindialogpixdir); \ + cp $(pidgindialogpix_DATA) $(pidgindialogpixdir); \ fi; - if test '$(gaimiconpix_DATA)'; then \ - mkdir -p $(gaimiconpixdir); \ - cp $(gaimiconpix_DATA) $(gaimiconpixdir); \ + if test '$(pidginiconpix_DATA)'; then \ + mkdir -p $(pidginiconpixdir); \ + cp $(pidginiconpix_DATA) $(pidginiconpixdir); \ fi; - if test '$(gaimdistpix_DATA)'; then \ - mkdir -p $(gaimdistpixdir); \ - cp $(gaimdistpix_DATA) $(gaimdistpixdir); \ + if test '$(pidgindistpix_DATA)'; then \ + mkdir -p $(pidgindistpixdir); \ + cp $(pidgindistpix_DATA) $(pidgindistpixdir); \ fi; - if test '$(distpixmap_DATA)'; then \ - mkdir -p $(distpixmapdir); \ - cp $(distpixmap_DATA) $(distpixmapdir); \ - fi; +# if test '$(distpixmap_DATA)'; then \ +# mkdir -p $(distpixmapdir); \ +# cp $(distpixmap_DATA) $(distpixmapdir); \ +# fi; diff -r 7db39d873d52 -r 1071320641b9 pidgin/win32/nsis/pidgin-installer.nsi --- a/pidgin/win32/nsis/pidgin-installer.nsi Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/win32/nsis/pidgin-installer.nsi Tue Mar 27 01:38:37 2007 +0000 @@ -698,7 +698,7 @@ Delete "$INSTDIR\plugins\buddynote.dll" Delete "$INSTDIR\plugins\convcolors.dll" Delete "$INSTDIR\plugins\extplacement.dll" - Delete "$INSTDIR\plugins\gaimrc.dll" + Delete "$INSTDIR\plugins\pidginrc.dll" Delete "$INSTDIR\plugins\history.dll" Delete "$INSTDIR\plugins\iconaway.dll" Delete "$INSTDIR\plugins\idle.dll" @@ -735,12 +735,12 @@ Delete "$INSTDIR\plugins\win2ktrans.dll" Delete "$INSTDIR\plugins\winprefs.dll" RMDir "$INSTDIR\plugins" - Delete "$INSTDIR\sounds\gaim\alert.wav" - Delete "$INSTDIR\sounds\gaim\login.wav" - Delete "$INSTDIR\sounds\gaim\logout.wav" - Delete "$INSTDIR\sounds\gaim\receive.wav" - Delete "$INSTDIR\sounds\gaim\send.wav" - RMDir "$INSTDIR\sounds\gaim" + Delete "$INSTDIR\sounds\pidgin\alert.wav" + Delete "$INSTDIR\sounds\pidgin\login.wav" + Delete "$INSTDIR\sounds\pidgin\logout.wav" + Delete "$INSTDIR\sounds\pidgin\receive.wav" + Delete "$INSTDIR\sounds\pidgin\send.wav" + RMDir "$INSTDIR\sounds\pidgin" RMDir "$INSTDIR\sounds" Delete "$INSTDIR\freebl3.dll" Delete "$INSTDIR\idletrack.dll" diff -r 7db39d873d52 -r 1071320641b9 pidgin/win32/pidgin_exe_rc.rc.in --- a/pidgin/win32/pidgin_exe_rc.rc.in Tue Mar 27 01:36:24 2007 +0000 +++ b/pidgin/win32/pidgin_exe_rc.rc.in Tue Mar 27 01:38:37 2007 +0000 @@ -33,4 +33,4 @@ END END -PURPLE_ICON ICON PIXMAPDIR "pidgin.ico" +PIDGIN_ICON ICON PIXMAPDIR "pidgin.ico"