Mercurial > pidgin
view README @ 3952:07283934dedd
[gaim-migrate @ 4133]
Ok, big commit with little functionality change.
Most of it is me shuffling crap around because I'm one of them neat freaks. Lots of general code
cleanup too. I'm trying to move to that whole "one-family-per-file" thing.
The details...
I added libfaim support for aim's new search family, 0x000f. I only tested this briefly, so if
anyone uses it for anything, be aware that it could be buggy. I'll add oscar support sometime.
Advantages of this family are... when you search for someone, you get the directory info for that
person. So like, first name, middle name, last name, maiden name, city, state, country, zip,
address, interests, nickname, and maybe some other stuff. Basically all the info that they've set in
their directory info thing. Info. Oh, and I'm calling it "new search" because seach was already
taken, and cookie monster ate my right brain.
The reason I didn't add support to oscar.c... the new search family requires making a connection to
another server. While moving stuff around I realized that I didn't really like how new connections
are made. It's kind of sloppy. I'm thinking it would be nice to have an outgoing queue for each
type of connection, and then let the client queue messages as much as they want. Then, if libfaim
sees that there is a message for a certain type of connection, and there is no open connection of
that type, it will connect, and then flush the queue when the connection is made. This seems a lot
cleaner, but it also seems like a pain in the ass. I should do ssi for icq first, anyway :-)
Also, I think it would be neat if there was an ICBM file that handled channels 1 through 4. Then
im.c and chat.c could pass the ICBM part to the icbm stuff and it could get parsed there. im.c is
really huge right now.
I applied a patch from Graham Booker that paves the way for unicode in direct IMs. Thanks Graham.
Now we just need Paco-Paco to git a little free time and write a patch for this.
http://sourceforge.net/tracker/index.php?func=detail&aid=633589&group_id=235&atid=300235
I applied 2 patches from Will Mahan dealing with file transfer/oft/rendezous/whatever. Here's some
info on them, from The Man himself:
Patch 1
"Currently the Rendezvous code is rather messy; this
patch attempts to bring it up to speed with the rest of
the Oscar prpl. Its changes include:
* Rewrite several ft.c functions to use bstreams.
Apparently the code in question was written before
bstreams were implemented.
* Handle incoming Rendezvous packets through the
rxqueue like FLAP packets, rather than handling them as
a special case as soon as they are received. This
takes advantage of the bstream cleanup to unify some
code and simplify the aim_frame_t struct.
* Change some names used to try to clarify the
distinction between OFT, which refers specifically to
file transfer, and Rendezvous, which encompasses OFT as
well as other types of client-to-client connections."
Patch 2
"* Add some comments I inadvertently left out of my last patch.
* Fix a double-free that occurs when connections time out.
* Correct a bug causing filenames to be truncated by 4 characters on
some clients.
* Preserve directory structure when sending multiple files.
* Handle (throw away) resource forks sent by Mac clients."
I also changed all indents to tabs in ft.c.
And split all the bstream stuff from rxqueue.c and put it in bstream.c. It really is a separate
thing. Especially since it can be used for outgoing connections.
Also, I was going to look over the whole patch tonight to make sure it's all good, but it's like 6000
lines, so, uh, I'll do it later.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Wed, 13 Nov 2002 07:01:37 +0000 |
parents | 21bf44275d49 |
children | d93f3e15381f |
line wrap: on
line source
gaim ======================== Rob Flynn <rob@marko.net> IM: RobFlynn (currnet maintainer) Syd Logan - Super Hacker and Resident Designated Driver Jim Duchek <jimduchek@ou.edu> IM: Zilding (former maintainer) Eric Warmenhoven <eric@warmenhoven.org> (retired) Mark Spencer <markster@marko.net> 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. 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. In order to compile Gaim, you need to have GTK+ 1.2.5 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/. Gaim will try to compile with Gnome features if you have Gnome on your system. If you don't have them, it will settle for simply GTK. If you don't want Gnome bits, ./configure --disable-gnome If you want to build as a GNOME applet: ./configure --enable-panel ; make then su to root and run "make install". Afterwards panel->Add applet->Network->Gaim should be there. RUN === 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'. To use the other services (such as Yahoo and IRC) which are available as plugins: They are installed in $libdir/gaim, which usually is either /usr/lib/gaim or /usr/local/lib/gaim, and should have a somewhat descriptive name (e.g. libyahoo.so or libirc.so). Load those plugins using the normal plugin dialog. Then in the account editor, add a new account; the Protocol option menu should now have another option for the protocol that you loaded. Then you can sign that account on. Read below for protocol-specific information. PLUGINS ======= If you do not wish to enable the plugin support within Gaim, 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 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. To build a plugin from a .c file, put it in the plugins/ directory in the source and run 'make filename.so', e.g. if you have the .c file 'kickass.c', put it in the plugins/ directory, and from that directory, run 'make kickass.so'. NOTES ===== If you manually set a command for your browser or sound player options, 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. There always seems to be some iffy-ness by a lot of people about whether to use the CVS version or stick with a stable release. Use the CVS version. If you need a version that you know is reliable, then keep your favorite one in case of an emergency. But for the most part, gaim is not mission-critical software, and if you can help us find a few bugs before we release, all the better. (Also, CVS tends to be more stable than releases, since we get 10 or 12 bug reports right after we make a release, and all those bugs are fixed within a day or two usually.) Read http://gaim.sf.net/cvs.php for more information. PROTOCOL INFORMATION ==================== Each protocol is hacked by both Rob and Eric, though there is one person that kind of "owns" a protocol (mostly indicating that they were the person that originally wrote it). Their name will be next to the protocol; they're the people to complain to when something doesn't work ;). TOC (Rob) === You shouldn't use TOC, you should use Oscar instead. TOC can sync your buddy list with the server (if it's not too long), and can respond to file transfer requests (both sending and receiving). Other than that, there's nothing it can do that Oscar can't, yet. The TOC protocol doesn't allow retrieval of away messages; isn't capable of sending or receiving buddy icons; it also can't make file transfer requests. Oscar (Eric) ===== 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. For AIM, Oscar can get people's away messages. It can request and accept Direct IM connections, but it cannot yet transfer files through this (or through any other means). It can send and receive buddy icons if you have GdkPixbuf. For ICQ, it supports nearly everything that the old ICQ plugin supported, which isn't much. To use Oscar for ICQ, enter your ICQ UIN as the screenname. The default host/port will work. You'll need to use a different client to register a new ICQ account if you don't have one yet. Yahoo (Eric) ===== 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. Group chats aren't supported yet. IRC (Eric) === There are three ways to join an IRC chat room. The first is the File->Join A Chat menu option in the Buddy List window. The second is the "Chat" button at the bottom of the buddy list. The third is to type "/join #name" in an IM window where the "Send Message As" menu is set to your IRC account. There are other / commands that work in IM and Chat windows for IRC, /help will give you a list of them. MSN (Eric) === With MSN you can join a conversation with several people, but you can't invite people from the IM window yet. ICQ (Eric) === 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 (Eric) ====== 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 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 notification. You'll need to use a different client to register a Jabber account if you don't have one yet. Napster (Rob) ======= 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 (Eric) ====== 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 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. Gadu-Gadu (Eric) ========= I really shouldn't be taking credit for Gadu-Gadu, I'm just the person who commits the patches that Arkadiusz Miskiewicz gives me. Gadu-Gadu is an IM system most similar to ICQ that is quite popular in Poland. It can manage your server-side buddy list through the Protocol Actions menu. You'll need to use a different client to register a new account if you don't have one yet.