plugins/notify.c

Fri, 26 Oct 2001 23:49:50 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Fri, 26 Oct 2001 23:49:50 +0000
changeset 2624
97e749bcd59e
parent 2313
f7f7ff0b8d4a
child 3374
4792e03572f4
permissions
-rw-r--r--

[gaim-migrate @ 2637]
this is good.

191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
1 #define GAIM_PLUGINS
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
2 #include "gaim.h"
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
3
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
4 #include <gtk/gtk.h>
192
d6188af92003 [gaim-migrate @ 202]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 191
diff changeset
5 #include <string.h>
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
6
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
7 void *handle;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
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
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
10 char buf[256];
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
11 struct conversation *cnv = find_conversation(*who);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
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
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 if (cnv == NULL)
1835
7cda0239e999 [gaim-migrate @ 1845]
Rob Flynn <gaim@robflynn.com>
parents: 1052
diff changeset
22 {
2313
f7f7ff0b8d4a [gaim-migrate @ 2323]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1835
diff changeset
23 if (away_options & OPT_AWAY_QUEUE)
1835
7cda0239e999 [gaim-migrate @ 1845]
Rob Flynn <gaim@robflynn.com>
parents: 1052
diff changeset
24 return;
7cda0239e999 [gaim-migrate @ 1845]
Rob Flynn <gaim@robflynn.com>
parents: 1052
diff changeset
25
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 cnv = new_conversation(*who);
1835
7cda0239e999 [gaim-migrate @ 1845]
Rob Flynn <gaim@robflynn.com>
parents: 1052
diff changeset
27 }
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 win = (GtkWindow *)cnv->window;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31 g_snprintf(buf, sizeof(buf), "%s", win->title);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 if (!strstr(buf, "(*) ")) {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 g_snprintf(buf, sizeof(buf), "(*) %s", win->title);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 gtk_window_set_title(win, buf);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
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
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 char buf[256];
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40 struct conversation *c = find_conversation(who);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 GtkWindow *win = (GtkWindow *)c->window;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 g_snprintf(buf, sizeof(buf), "%s", win->title);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 if (strstr(buf, "(*) ")) {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 g_snprintf(buf, sizeof(buf), "%s", &win->title[4]);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46 gtk_window_set_title(win, buf);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49
1047
783f8520d9a0 [gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 1000
diff changeset
50 char *gaim_plugin_init(GModule *hndl) {
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51 handle = hndl;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 gaim_signal_connect(handle, event_im_recv, received_im, NULL);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
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
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
57 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
59 char *name() {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
60 return "Visual Notification";
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
61 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 char *description() {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64 return "Puts an asterisk in the title bar of all conversations"
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
65 " where you have not responded to a message yet.";
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66 }

mercurial