Mercurial > pidgin
view plugins/statenotify.c @ 5332:4d734dbc88dd
[gaim-migrate @ 5705]
Improved installer.. Now installs for all users, not only admins.
Gaim is once again installing GTK+, through the GTK+ installer available at
Gaim's win32 web page. Also now giving user option to install GTK theme
engines. There is also now a half way solution to deal with DLL Hell.. On
installation the Gaim installer will notify the user if there are any
dlls in his system directories that could conflict with the GTK dlls, and
will offer to rename them to avoid the conflict. This is a half way
solution because it will probably break the apps responsible for putting
those dlls in the system directories..
committer: Tailor Script <tailor@pidgin.im>
| author | Herman Bloggs <hermanator12002@yahoo.com> |
|---|---|
| date | Thu, 08 May 2003 04:17:01 +0000 |
| parents | 3cd24f012091 |
| children | 1c55b1540e18 |
line wrap: on
line source
#include "gaim.h" static void write_status(struct gaim_connection *gc, char *who, const char *message) { struct gaim_conversation *conv; struct buddy *b; char buf[256]; conv = gaim_find_conversation_with_account(who, gc->account); if (conv == NULL) return; if ((b = gaim_find_buddy(gc->account, who)) != NULL) who = gaim_get_buddy_alias(b); g_snprintf(buf, sizeof(buf), "%s %s", who, message); gaim_conversation_write(conv, NULL, buf, -1, WFLAG_SYSTEM, time(NULL)); } static void buddy_away_cb(struct gaim_connection *gc, char *who, void *data) { write_status(gc, who, "has gone away."); } static void buddy_unaway_cb(struct gaim_connection *gc, char *who, void *data) { write_status(gc, who, "is no longer away."); } static void buddy_idle_cb(struct gaim_connection *gc, char *who, void *data) { write_status(gc, who, "has become idle."); } static void buddy_unidle_cb(struct gaim_connection *gc, char *who, void *data) { write_status(gc, who, "is no longer idle."); } static gboolean plugin_load(GaimPlugin *plugin) { gaim_signal_connect(plugin, event_buddy_away, buddy_away_cb, NULL); gaim_signal_connect(plugin, event_buddy_back, buddy_unaway_cb, NULL); gaim_signal_connect(plugin, event_buddy_idle, buddy_idle_cb, NULL); gaim_signal_connect(plugin, event_buddy_unidle, buddy_unidle_cb, NULL); return TRUE; } static GaimPluginInfo info = { 2, /**< api_version */ GAIM_PLUGIN_STANDARD, /**< type */ NULL, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ GAIM_PRIORITY_DEFAULT, /**< priority */ NULL, /**< id */ N_("Buddy State Notification"), /**< name */ VERSION, /**< version */ /** summary */ N_("Notifies in a conversation window when a buddy goes or returns from " "away or idle."), /** description */ N_("Notifies in a conversation window when a buddy goes or returns from " "away or idle."), "Christian Hammond <chipx86@gnupdate.org>", /**< author */ WEBSITE, /**< homepage */ plugin_load, /**< load */ NULL, /**< unload */ NULL, /**< destroy */ NULL, /**< ui_info */ NULL /**< extra_info */ }; static void __init_plugin(GaimPlugin *plugin) { } GAIM_INIT_PLUGIN(statenotify, __init_plugin, info);
