Mercurial > pidgin
view README @ 12645:fc28451f5d96
[gaim-migrate @ 14983]
SF Patch #1314512 from Sadrul (who has a patch for everything)
"This patch introduces a flag for protocol plugins that
support offline messages (like Y!M and ICQ). This was
encouraged by the following conversation:
<sadrul> should offline buddies be listed/enabled in
the send-to menu?
<rekkanoryo> i would think only for protocols that
support offline messaging, if it's indicated that the
buddy is offline
-- <snip> --
<Bleeter> sadrul: personally, I'd like to see a
'supports offline' flag of some description
<Bleeter> one could then redirect (via plugins) through
email or alternative methods
<Bleeter> just a thought
<Paco-Paco> yeah, that sounds like a reasonble thing to have
This patch uses this flag to disable the buddies in the
send-to menu who are offline and the protocol doesn't
support offline messages."
I made this make the label insensitive instead of the whole menuitem. This
should address SimGuy's concerns about inconsistency (i.e. you could create a
conversation with someone via the buddy list that you couldn't create via the
Send To menu). I also hacked up some voodoo to show the label as sensitive when
moused-over, as that looks better (given the label-insensitive thing is itself a
hack). I think this works quite well.
BUG NOTE:
This makes more obvious an existing bug. The Send To menu isn't updated when
buddies sign on or off or change status (at least under some circumstances).
We need to fix that anyway, so I'm not going to let it hold up this commit.
Switching tabs will clear it up. I'm thinking we just might want to build the
contents of that menu when it is selected. That would save us a mess of
inefficient signal callbacks that update the Send To menus in open windows all
the time.
AIM NOTE:
This assumes that AIM can't offline message. That's not strictly true. You can
message invisible users on AIM. However, by design, we can't tell when a user
is invisible without resorting to dirty hackery. In practice, this isn't a
problem, as you can still select the AIM user from the menu. And really, how
often will you be choosing the Invisible contact, rather than the user going
Invisible in the middle of a conversation or IMing you while they're Invisible?
JABBER NOTE:
This assumes that Jabber can always offline message. This isn't strictly true.
Sadrul said:
I have updated Jabber according to this link which seems to
talk about how to determine the existence offline-message
support in a server:
http://www.jabber.org/jeps/jep-0013.html#discover
However, jabber.org doesn't seem to send the required
info. So I am not sure about it.
He later said:
I talked to Nathan and he said offline message support is
mostly assumed for most jabber servers. GTalk doesn't yet
support it, but they are working on it. So I have made
jabber to always return TRUE.
If there is truly no way to detect offline messaging capability, then this is
an acceptable solution. We could special case Google Talk because of its
popularity, and remove that later. It's probably not worth it though.
MSN NOTE:
This assumes that MSN can never offline message. That's effectively true, but
to be technically correct, MSN can offline message if there's already a
switchboard conversation open with a user. We could write an offline_message
function in the MSN prpl to detect that, but it'd be of limited usefulness,
especially given that under most circumstances (where this might matter), the
switchboard connection will be closed almost immediately.
CVS NOTE:
I'm writing to share a tragic little story.
I have a PC that I use for Gaim development. One day, I was writing a commit
message on it, when all of a suddent it went berserk. The screen started
flashing, and the whole commit message just disappeared. All of it. And it was
a good commit message! I had to cram and rewrite it really quickly. Needless to
say, my rushed commit message wasn't nearly as good, and I blame the PC for that.
Seriously, though, what kind of version control system loses your commit
message on a broken connection to the server? Stupid!
committer: Tailor Script <tailor@pidgin.im>
author | Richard Laager <rlaager@wiktel.com> |
---|---|
date | Fri, 23 Dec 2005 19:26:04 +0000 |
parents | 8e0a91d11362 |
children | c4a5d8950d8c |
line wrap: on
line source
gaim ======================== Rob Flynn <gaim@robflynn.com> IM: RobFlynn (current 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+ 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/. For sound support, you also need libao (http://freshmeat.net/projects/libao/) and libaudiofile (http://www.68k.org/~michael/audiofile/). For spellchecking support, you need libgtkspell (http://gtkspell.sf.net/). Your distro of choice probably already includes these, just be sure to install the development packages. 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'. 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. 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. See README.CVS for information on the bleeding edge CVS version of Gaim. You probably shouldn't use it, as it may eat your children, as well as your settings. 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 (Mark) === 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 (Mark) ===== 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 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, 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 (Sean) ===== 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. IRC (Ethan) === 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 (Christian) === 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 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 can register a new Jabber account by checking the 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 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 (Sean) ========= 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.