Fri, 26 Oct 2001 23:49:50 +0000
[gaim-migrate @ 2637]
this is good.
| 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) | |
| 1835 | 22 | { |
|
2313
f7f7ff0b8d4a
[gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1835
diff
changeset
|
23 | if (away_options & OPT_AWAY_QUEUE) |
| 1835 | 24 | return; |
| 25 | ||
| 191 | 26 | cnv = new_conversation(*who); |
| 1835 | 27 | } |
| 191 | 28 | |
| 29 | win = (GtkWindow *)cnv->window; | |
| 30 | ||
| 31 | g_snprintf(buf, sizeof(buf), "%s", win->title); | |
| 32 | if (!strstr(buf, "(*) ")) { | |
| 33 | g_snprintf(buf, sizeof(buf), "(*) %s", win->title); | |
| 34 | gtk_window_set_title(win, buf); | |
| 35 | } | |
| 36 | } | |
| 37 | ||
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
663
diff
changeset
|
38 | void sent_im(struct gaim_connection *gc, char *who, char **what, void *m) { |
| 191 | 39 | char buf[256]; |
| 40 | struct conversation *c = find_conversation(who); | |
| 41 | GtkWindow *win = (GtkWindow *)c->window; | |
| 42 | ||
| 43 | g_snprintf(buf, sizeof(buf), "%s", win->title); | |
| 44 | if (strstr(buf, "(*) ")) { | |
| 45 | g_snprintf(buf, sizeof(buf), "%s", &win->title[4]); | |
| 46 | gtk_window_set_title(win, buf); | |
| 47 | } | |
| 48 | } | |
| 49 | ||
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
50 | char *gaim_plugin_init(GModule *hndl) { |
| 191 | 51 | handle = hndl; |
| 52 | ||
| 53 | gaim_signal_connect(handle, event_im_recv, received_im, NULL); | |
| 54 | gaim_signal_connect(handle, event_im_send, sent_im, NULL); | |
|
1052
d02807295cf3
[gaim-migrate @ 1062]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
55 | |
|
d02807295cf3
[gaim-migrate @ 1062]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1047
diff
changeset
|
56 | return NULL; |
| 191 | 57 | } |
| 58 | ||
| 59 | char *name() { | |
| 60 | return "Visual Notification"; | |
| 61 | } | |
| 62 | ||
| 63 | char *description() { | |
| 64 | return "Puts an asterisk in the title bar of all conversations" | |
| 65 | " where you have not responded to a message yet."; | |
| 66 | } |