plugins/perl/common/ConvWindow.xs

Sun, 17 Oct 2004 23:55:49 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Sun, 17 Oct 2004 23:55:49 +0000
changeset 10108
0897c42d6cb9
parent 7120
83dba78f8518
child 10856
5956b7883cad
permissions
-rw-r--r--

[gaim-migrate @ 11141]
Two things:
a. Added Enter as a gtk_binding to GtkIMHtml. This fixes everything.
Input methods now work. The "Enter sends" and "Ctrl-Enter sends" preferences
were removed and defaulted to yes and no respectively, BUT, in a very super-cool
turn of events, you can now add your own bindings to .gtkrc to make WHATEVER
YOU WANT send. Awesome. Someone should use g_signal_accumulator_true_handled
or something to make profiles and away messages able to insert newlines.

b. Removed "Use multi-colored screennames in chats," defaulted to yes, and
wrote a nifty algorithm to automatically adjust the colors to accomodate the
background (see http://gaim.sf.net/sean/porn-chat.png). People should play
around and tweak it a bit. The algorithm takes into consideration the
luminosity of the current background and the base hue to use for the screenname
in generating the new colors. Note that it does this while maintaining the hues.
Someone should optimize this so it skips over the floating point arithmatic when
the background color is white.

#include "module.h"

MODULE = Gaim::ConvWindow  PACKAGE = Gaim::ConvWindow  PREFIX = gaim_conv_window_
PROTOTYPES: ENABLE

Gaim::ConvWindow
gaim_conv_window_new()

void
DESTROY(win)
	Gaim::ConvWindow win
CODE:
	gaim_conv_window_destroy(win);


void
gaim_conv_window_show(win)
	Gaim::ConvWindow win

void
gaim_conv_window_hide(win)
	Gaim::ConvWindow win

void
gaim_conv_window_raise(win)
	Gaim::ConvWindow win

void
gaim_conv_window_flash(win)
	Gaim::ConvWindow win

int
gaim_conv_window_add_conversation(win, conv)
	Gaim::ConvWindow win
	Gaim::Conversation conv

Gaim::Conversation
gaim_conv_window_remove_conversation(win, index)
	Gaim::ConvWindow win
	unsigned int index

void
gaim_conv_window_move_conversation(win, index, new_index)
	Gaim::ConvWindow win
	unsigned int index
	unsigned int new_index

Gaim::Conversation
gaim_conv_window_get_conversation_at(win, index)
	Gaim::ConvWindow win
	unsigned int index

size_t
gaim_conv_window_get_conversation_count(win)
	Gaim::ConvWindow win

void
gaim_conv_window_switch_conversation(win, index)
	Gaim::ConvWindow win
	unsigned int index

Gaim::Conversation
gaim_conv_window_get_active_conversation(win)
	Gaim::ConvWindow win

void
conversations(win)
	Gaim::ConvWindow win
PREINIT:
	GList *l;
CODE:
	for (l = gaim_conv_window_get_conversations(win); l != NULL; l = l->next)
	{
		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data,
			"Gaim::Conversation")));
	}


MODULE = Gaim::ConvWindow  PACKAGE = Gaim  PREFIX = gaim_
PROTOTYPES: ENABLE

void
conv_windows()
PREINIT:
	GList *l;
CODE:
	for (l = gaim_get_windows(); l != NULL; l = l->next)
		XPUSHs(sv_2mortal(gaim_perl_bless_object(l->data, "Gaim::ConvWindow")));

mercurial