Mercurial > pidgin
diff plugins/notify.c @ 191:948100a8cb23
[gaim-migrate @ 201]
Wrote a plugin for IcedSoal to put an asterisk in the titlebar of conversations
where you haven't replied to the person yet (e.g. you weren't the last person
to say something).
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Thu, 27 Apr 2000 12:14:16 +0000 |
parents | |
children | e9ca9146ebf1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/plugins/notify.c Thu Apr 27 12:14:16 2000 +0000 @@ -0,0 +1,51 @@ +#define GAIM_PLUGINS +#include "gaim.h" + +#include <gtk/gtk.h> + +void *handle; + +void received_im(char **who, char **what, void *m) { + char buf[256]; + struct conversation *cnv = find_conversation(*who); + GtkWindow *win; + + if (cnv == NULL) + cnv = new_conversation(*who); + + win = (GtkWindow *)cnv->window; + + g_snprintf(buf, sizeof(buf), "%s", win->title); + if (!strstr(buf, "(*) ")) { + g_snprintf(buf, sizeof(buf), "(*) %s", win->title); + gtk_window_set_title(win, buf); + } +} + +void sent_im(char *who, char **what, void *m) { + char buf[256]; + struct conversation *c = find_conversation(who); + GtkWindow *win = (GtkWindow *)c->window; + + g_snprintf(buf, sizeof(buf), "%s", win->title); + if (strstr(buf, "(*) ")) { + g_snprintf(buf, sizeof(buf), "%s", &win->title[4]); + gtk_window_set_title(win, buf); + } +} + +void gaim_plugin_init(void *hndl) { + handle = hndl; + + gaim_signal_connect(handle, event_im_recv, received_im, NULL); + gaim_signal_connect(handle, event_im_send, sent_im, NULL); +} + +char *name() { + return "Visual Notification"; +} + +char *description() { + return "Puts an asterisk in the title bar of all conversations" + " where you have not responded to a message yet."; +}