view plugins/iconaway.c @ 3939:49d42b275a68

[gaim-migrate @ 4115] .todo file spelling fixes. (22:11:39) Robot101: Fixes bug with multiple consecutive docklet clicks not correctly showing and hiding the blist (22:12:26) Robot101: Fixes compile warning in docklet.c the correct way (without adding a default to the switch on an enum) (22:12:53) Robot101: Avoids the blist being moved off-screen by the position remembering code, and does the move before showing it instead of after (22:13:50) Robot101: Fix evil behaviour with disappearing blists when you switch desktop or minimise by removing the silly code (22:14:24) Robot101: Replace it with nice code that raises the blist when you click the docklet if it's fully obscured committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Mon, 11 Nov 2002 03:18:00 +0000
parents 9682c0e022c6
children 74d27aa5b686
line wrap: on
line source

#define GAIM_PLUGINS
#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;
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) {
	if (!imaway || !gc->away)
		return;
	gtk_window_iconify(GTK_WINDOW(imaway));
	hide_buddy_list();
	if (all_convos)
		gtk_window_iconify(GTK_WINDOW(all_convos));
	if (all_chats)
		gtk_window_iconify(GTK_WINDOW(all_chats));
}

/*
 *  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.";
}