Mercurial > pidgin
view plugins/iconaway.c @ 7971:6fca0d9cc98b
[gaim-migrate @ 8648]
this particular work of art is topic changing support for jabber, and
support for setting the topic by just changing the text in the chat window.
hopefully someone less lazy than I will implement the right function for
IRC, and any other chats that do topics.
committer: Tailor Script <tailor@pidgin.im>
author | Nathan Walp <nwalp@pidgin.im> |
---|---|
date | Fri, 02 Jan 2004 06:16:44 +0000 |
parents | bf630f7dfdcd |
children | d7b8eb1f0a18 |
line wrap: on
line source
#include "gtkinternal.h" #include "conversation.h" #include "signals.h" #include "gtkconv.h" #include "gtkplugin.h" #define ICONAWAY_PLUGIN_ID "gtk-iconaway" #ifdef _WIN32 __declspec(dllimport) GtkWidget *imaway; #else G_MODULE_IMPORT GtkWidget *imaway; #endif #ifdef USE_APPLET extern void applet_destroy_buddy(); #endif static void iconify_windows(GaimAccount *account, char *state, char *message, void *data) { GaimConvWindow *win; GList *windows; GaimConnection *gc; gc = gaim_account_get_connection(account); if (!imaway || !gc->away) return; gtk_window_iconify(GTK_WINDOW(imaway)); gaim_blist_set_visible(FALSE); for (windows = gaim_get_windows(); windows != NULL; windows = windows->next) { win = (GaimConvWindow *)windows->data; if (GAIM_IS_GTK_WINDOW(win)) { GaimGtkWindow *gtkwin; gtkwin = GAIM_GTK_WINDOW(win); gtk_window_iconify(GTK_WINDOW(gtkwin->window)); } } } /* * EXPORTED FUNCTIONS */ static gboolean plugin_load(GaimPlugin *plugin) { gaim_signal_connect(gaim_accounts_get_handle(), "account-away", plugin, GAIM_CALLBACK(iconify_windows), NULL); return TRUE; } static GaimGtkPluginUiInfo ui_info = { NULL /**< get_config_frame */ }; static GaimPluginInfo info = { 2, /**< api_version */ GAIM_PLUGIN_STANDARD, /**< type */ GAIM_GTK_PLUGIN_TYPE, /**< ui_requirement */ 0, /**< flags */ NULL, /**< dependencies */ GAIM_PRIORITY_DEFAULT, /**< priority */ ICONAWAY_PLUGIN_ID, /**< id */ N_("Iconify on Away"), /**< name */ VERSION, /**< version */ /** summary */ N_("Iconifies the buddy list and your conversations when you go away."), /** description */ N_("Iconifies the buddy list and your conversations when you go away."), "Eric Warmenhoven <eric@warmenhoven.org>", /**< author */ GAIM_WEBSITE, /**< homepage */ plugin_load, /**< load */ NULL, /**< unload */ NULL, /**< destroy */ &ui_info, /**< ui_info */ NULL /**< extra_info */ }; static void init_plugin(GaimPlugin *plugin) { } GAIM_INIT_PLUGIN(iconaway, init_plugin, info)