Mercurial > pidgin
view plugins/iconaway.c @ 3595:1e60a05c7482
[gaim-migrate @ 3697]
This adds le non-direct connect typing notification for oscar.
How it works, in a nutshell:
-AIM servers append a flag telling remote clients you support typing
notification
-You tell the AIM servers you support typing notification when you sign
on (by changing the "flags" passed to aim_seticbmparam())
-Clients send little typing notification messages to other clients, but
only when they know that the other client supports it (so after you've
received an IM from the other person)
I also fixed a compile warning or two dealing with SSI stuff.
Things to look out for:
-ICQ states doing weird things
-Typing notification works with MacAIM clients (iChat and the official
one)
-Typing notification doesn't try to send stuff to clients that don't
support (I have no idea how you're supposed to look out for this. It
should be ok)
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Sun, 06 Oct 2002 03:08:47 +0000 |
parents | 83a54877f1ae |
children | 9682c0e022c6 |
line wrap: on
line source
#include "../config.h" #include "gaim.h" #include <gtk/gtk.h> void *handle; extern GtkWidget *imaway; extern GtkWidget *blist; extern GtkWidget *all_chats; extern GtkWidget *all_convos; #ifdef USE_APPLET extern void applet_destroy_buddy(); #endif void iconify_windows(struct gaim_connection *gc, char *state, char *message, void *data) { if (!imaway || !gc->away) return; gtk_window_iconify(GTK_WINDOW(imaway)); hide_buddy_list(); if (all_convos) gtk_window_iconify(GTK_WINDOW(all_convos)); if (all_chats) gtk_window_iconify(GTK_WINDOW(all_chats)); } char *gaim_plugin_init(GModule *h) { handle = h; gaim_signal_connect(handle, event_away, iconify_windows, NULL); return NULL; } struct gaim_plugin_description desc; struct gaim_plugin_description *gaim_plugin_desc() { desc.api_version = PLUGIN_API_VERSION; desc.name = g_strdup("Iconify on away"); desc.version = g_strdup(VERSION); desc.description = g_strdup("Iconifies the away box and the buddy list when you go away."); desc.authors = g_strdup("Eric Warmenhoven <eric@warmenhoven.org>"); desc.url = g_strdup(WEBSITE); return &desc; } char *name() { return "Iconify On Away"; } char *description() { return "Iconifies the away box and the buddy list when you go away."; }