view plugins/iconaway.c @ 5145:fc09679bffbe

[gaim-migrate @ 5509] (21:17:26) KingAnt: The thing Luke committed a few hours ago. I think it makes it so Buddies->Get User Info gets the info of whoever is highlighted in the buddy list instead of always opening the "enter screenname" box (21:18:25) LSchiere: KingAnt: correct, as the commit message states, that's exactly what it does (21:18:29) Robot101: KingAnt: the menus don't act on buddies in the list (21:18:34) Robot101: the buttons do, but the menus don't (21:18:40) Robot101: so now it's inconsistent. (21:18:47) KingAnt: That's what I was thinking (21:18:51) Robot101: revert. (21:18:53) LSchiere: kay (21:19:09) KingAnt: Well, I was thinking more... if I want to get info of someone who's not on my buddy list, I shouldn't have to unclick on people in the buddy list (21:19:25) Robot101: that too! (21:19:37) LSchiere: i always forget the menu, so that didn't occur to me: i'm used to unclicking committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Thu, 17 Apr 2003 01:20:22 +0000
parents 0b1c01fd68f1
children fefad67de2c7
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));
	gaim_blist_set_visible(FALSE);

	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 &lt;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.");
}