Fri, 19 Jan 2001 09:11:16 +0000
[gaim-migrate @ 1425]
woo hoo
| 191 | 1 | #define GAIM_PLUGINS |
| 2 | #include "gaim.h" | |
| 3 | ||
| 4 | #include <gtk/gtk.h> | |
|
192
d6188af92003
[gaim-migrate @ 202]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
191
diff
changeset
|
5 | #include <string.h> |
| 191 | 6 | |
| 7 | void *handle; | |
| 8 | ||
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
663
diff
changeset
|
9 | void received_im(struct gaim_connection *gc, char **who, char **what, void *m) { |
| 191 | 10 | char buf[256]; |
| 11 | struct conversation *cnv = find_conversation(*who); | |
| 12 | GtkWindow *win; | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
13 | char *me = g_strdup(normalize(gc->username)); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
14 | |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
15 | if (!strcmp(me, normalize(*who))) { |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
16 | g_free(me); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
17 | return; |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
18 | } |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
19 | g_free(me); |
| 191 | 20 | |
| 21 | if (cnv == NULL) | |
| 22 | cnv = new_conversation(*who); | |
| 23 | ||
| 24 | win = (GtkWindow *)cnv->window; | |
| 25 | ||
| 26 | g_snprintf(buf, sizeof(buf), "%s", win->title); | |
| 27 | if (!strstr(buf, "(*) ")) { | |
| 28 | g_snprintf(buf, sizeof(buf), "(*) %s", win->title); | |
| 29 | gtk_window_set_title(win, buf); | |
| 30 | } | |
| 31 | } | |
| 32 | ||
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
663
diff
changeset
|
33 | void sent_im(struct gaim_connection *gc, char *who, char **what, void *m) { |
| 191 | 34 | char buf[256]; |
| 35 | struct conversation *c = find_conversation(who); | |
| 36 | GtkWindow *win = (GtkWindow *)c->window; | |
| 37 | ||
| 38 | g_snprintf(buf, sizeof(buf), "%s", win->title); | |
| 39 | if (strstr(buf, "(*) ")) { | |
| 40 | g_snprintf(buf, sizeof(buf), "%s", &win->title[4]); | |
| 41 | gtk_window_set_title(win, buf); | |
| 42 | } | |
| 43 | } | |
| 44 | ||
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
45 | char *gaim_plugin_init(GModule *hndl) { |
| 191 | 46 | handle = hndl; |
| 47 | ||
| 48 | gaim_signal_connect(handle, event_im_recv, received_im, NULL); | |
| 49 | gaim_signal_connect(handle, event_im_send, sent_im, NULL); | |
|
1052
d02807295cf3
[gaim-migrate @ 1062]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
50 | |
|
d02807295cf3
[gaim-migrate @ 1062]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
51 | return NULL; |
| 191 | 52 | } |
| 53 | ||
| 54 | char *name() { | |
| 55 | return "Visual Notification"; | |
| 56 | } | |
| 57 | ||
| 58 | char *description() { | |
| 59 | return "Puts an asterisk in the title bar of all conversations" | |
| 60 | " where you have not responded to a message yet."; | |
| 61 | } |