plugins/notify.c

Thu, 03 Aug 2000 05:35:13 +0000

author
Eric Warmenhoven <warmenhoven@yahoo.com>
date
Thu, 03 Aug 2000 05:35:13 +0000
changeset 592
9cd04eefc8ca
parent 192
d6188af92003
child 663
b3c1027549b4
permissions
-rw-r--r--

[gaim-migrate @ 602]
this really cool guy sent a patch to convert %n, %d and %t to things in
away messages. i just wish i could remember his name.

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
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
9 void received_im(char **who, char **what, void *m) {
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;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
13
192
d6188af92003 [gaim-migrate @ 202]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 191
diff changeset
14 if (!strcmp(*what, LAGOMETER_STR))
d6188af92003 [gaim-migrate @ 202]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 191
diff changeset
15 return;
d6188af92003 [gaim-migrate @ 202]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents: 191
diff changeset
16
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 if (cnv == NULL)
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 cnv = new_conversation(*who);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20 win = (GtkWindow *)cnv->window;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 g_snprintf(buf, sizeof(buf), "%s", win->title);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23 if (!strstr(buf, "(*) ")) {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 g_snprintf(buf, sizeof(buf), "(*) %s", win->title);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 gtk_window_set_title(win, buf);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 }
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 void sent_im(char *who, char **what, void *m) {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 char buf[256];
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31 struct conversation *c = find_conversation(who);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
32 GtkWindow *win = (GtkWindow *)c->window;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 g_snprintf(buf, sizeof(buf), "%s", win->title);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35 if (strstr(buf, "(*) ")) {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 g_snprintf(buf, sizeof(buf), "%s", &win->title[4]);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 gtk_window_set_title(win, buf);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 void gaim_plugin_init(void *hndl) {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 handle = hndl;
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 gaim_signal_connect(handle, event_im_recv, received_im, NULL);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 gaim_signal_connect(handle, event_im_send, sent_im, NULL);
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46 }
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 char *name() {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 return "Visual Notification";
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
52 char *description() {
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 return "Puts an asterisk in the title bar of all conversations"
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54 " where you have not responded to a message yet.";
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
55 }

mercurial