Mercurial > pidgin.yaz
view plugins/iconaway.c @ 4528:f8fec48f0fde
[gaim-migrate @ 4806]
Should fix a potential infinite recursion bug I just noticed.
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Wed, 05 Feb 2003 08:02:25 +0000 |
parents | 62c1e5e656d0 |
children | 2427d847e39c |
line wrap: on
line source
#include "config.h" #ifndef GAIM_PLUGINS #define GAIM_PLUGINS #endif #include "gaim.h" #include <gtk/gtk.h> #ifdef _WIN32 #include "win32dep.h" #endif void *handle; G_MODULE_IMPORT GtkWidget *imaway; G_MODULE_IMPORT GtkWidget *blist; /* XXX G_MODULE_IMPORT GtkWidget *all_chats; */ G_MODULE_IMPORT 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) { struct gaim_window *win; GList *windows; if (!imaway || !gc->away) return; gtk_window_iconify(GTK_WINDOW(imaway)); hide_buddy_list(); for (windows = gaim_get_windows(); windows != NULL; windows = windows->next) { win = (struct gaim_window *)windows->data; if (GAIM_IS_GTK_WINDOW(win)) { struct gaim_gtk_window *gtkwin; gtkwin = GAIM_GTK_WINDOW(win); gtk_window_iconify(GTK_WINDOW(gtkwin->window)); } } } /* * EXPORTED FUNCTIONS */ G_MODULE_EXPORT char *gaim_plugin_init(GModule *h) { handle = h; gaim_signal_connect(handle, event_away, iconify_windows, NULL); return NULL; } struct gaim_plugin_description desc; G_MODULE_EXPORT 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; } G_MODULE_EXPORT char *name() { return _("Iconify On Away"); } G_MODULE_EXPORT char *description() { return _("Iconifies the away box and the buddy list when you go away."); }