Mercurial > pidgin.yaz
view plugins/autorecon.c @ 1235:a9cf2f61a7b1
[gaim-migrate @ 1245]
1. added protocol names to menus in conversation/join chat dialog. helpful if you're signed on as warmenhoven in both irc and yahoo.
2. made "no sounds when away" mean absolutely no sounds when away.
3. fixed buddy pounces and made it so you can save them.
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Tue, 12 Dec 2000 09:09:24 +0000 |
parents | 3daec853f3c6 |
children | aedeb1218a0a |
line wrap: on
line source
#define GAIM_PLUGINS #include "gaim.h" #include <gtk/gtk.h> extern GtkWidget *imaway; static int recon; static int away_state; static int forced_off = 0; static struct away_message *last_away; char *name() { return "Auto Reconnect"; } char *description() { return "When AOL kicks you off, this auto-reconnects you."; } void do_signon(char *name) { struct aim_user *u = find_user(name, -1); g_free(name); gtk_timeout_remove(recon); if (!u) return; serv_login(u); forced_off = 0; if (away_state) do_away_message(NULL, last_away); } void reconnect(struct gaim_connection *gc, void *m) { char *name = g_strdup(gc->username); recon = gtk_timeout_add(8000, (GtkFunction)do_signon, name); forced_off = 1; } void away_toggle(void *m) { if ((int)m == 1) { last_away = awaymessage; away_state = 1; } else if (!forced_off) away_state = 0; } char *gaim_plugin_init(GModule *handle) { if (imaway) { away_state = 1; last_away = awaymessage; } else away_state = 0; gaim_signal_connect(handle, event_away, away_toggle, (void *)1); gaim_signal_connect(handle, event_back, away_toggle, (void *)0); gaim_signal_connect(handle, event_signoff, reconnect, NULL); return NULL; }