plugins/mailchk.c

Sun, 17 Oct 2004 23:55:49 +0000

author
Sean Egan <seanegan@pidgin.im>
date
Sun, 17 Oct 2004 23:55:49 +0000
changeset 10108
0897c42d6cb9
parent 9954
52a14a58a33e
child 10218
c93f3fcdb85d
permissions
-rw-r--r--

[gaim-migrate @ 11141]
Two things:
a. Added Enter as a gtk_binding to GtkIMHtml. This fixes everything.
Input methods now work. The "Enter sends" and "Ctrl-Enter sends" preferences
were removed and defaulted to yes and no respectively, BUT, in a very super-cool
turn of events, you can now add your own bindings to .gtkrc to make WHATEVER
YOU WANT send. Awesome. Someone should use g_signal_accumulator_true_handled
or something to make profiles and away messages able to insert newlines.

b. Removed "Use multi-colored screennames in chats," defaulted to yes, and
wrote a nifty algorithm to automatically adjust the colors to accomodate the
background (see http://gaim.sf.net/sean/porn-chat.png). People should play
around and tweak it a bit. The algorithm takes into consideration the
luminosity of the current background and the base hue to use for the screenname
in generating the new colors. Note that it does this while maintaining the hues.
Someone should optimize this so it skips over the floating point arithmatic when
the background color is white.

6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
1 #include "internal.h"
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
2
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
3 #include "blist.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
4 #include "conversation.h"
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
5 #include "debug.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
6 #include "signals.h"
4576
99c15f8a04ee [gaim-migrate @ 4857]
Paul Aurich <darkrain42@pidgin.im>
parents: 4575
diff changeset
7 #include "sound.h"
9954
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9821
diff changeset
8 #include "version.h"
6677
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
9
effa9861ec8e [gaim-migrate @ 7202]
Paul Aurich <darkrain42@pidgin.im>
parents: 6485
diff changeset
10 #include "gtkblist.h"
9821
d02520c59822 [gaim-migrate @ 10692]
Mark Doliner <markdoliner@pidgin.im>
parents: 8993
diff changeset
11 #include "gtkgaim.h"
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
12 #include "gtkplugin.h"
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
13 #include "gtksound.h"
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
14
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
15 #define MAILCHK_PLUGIN_ID "gtk-mailchk"
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 4655
diff changeset
16
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
17 #define ANY_MAIL 0x01
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
18 #define UNREAD_MAIL 0x02
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
19 #define NEW_MAIL 0x04
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
20
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
21 static guint32 timer = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
22 static GtkWidget *mail = NULL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
23
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
24 static gint check_mail()
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
25 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
26 static off_t oldsize = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
27 gchar *filename;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
28 off_t newsize;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
29 struct stat s;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
30 gint ret = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
31
4655
232f23f33b0a [gaim-migrate @ 4966]
Nathan Walp <nwalp@pidgin.im>
parents: 4576
diff changeset
32 filename = g_strdup(g_getenv("MAIL"));
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
33 if (!filename)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
34 filename = g_strconcat("/var/spool/mail/", g_get_user_name(), NULL);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
35
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
36 if (stat(filename, &s) < 0) {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
37 g_free(filename);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
38 return -1;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
39 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
40
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
41 newsize = s.st_size;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
42 if (newsize) ret |= ANY_MAIL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
43 if (s.st_mtime > s.st_atime && newsize) ret |= UNREAD_MAIL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
44 if (newsize != oldsize && (ret & UNREAD_MAIL)) ret |= NEW_MAIL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
45 oldsize = newsize;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
46
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
47 g_free(filename);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
48
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
49 return ret;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
50 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
51
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
52 static void destroy_cb()
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
53 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
54 mail = NULL;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
55 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
56
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
57 static gboolean check_timeout(gpointer data)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
58 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
59 gint count = check_mail();
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
60 GaimBuddyList *list = gaim_get_blist();
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
61
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
62 if (count == -1)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
63 return FALSE;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
64
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
65 if (!list || !GAIM_IS_GTK_BLIST(list) || !(GAIM_GTK_BLIST(list)->vbox))
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
66 return TRUE;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
67
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
68 if (!mail) {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
69 /* guess we better build it then :P */
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
70 GtkWidget *vbox = GAIM_GTK_BLIST(list)->vbox;
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
71
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
72 mail = gtk_label_new("No mail messages.");
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
73 gtk_box_pack_start(GTK_BOX(vbox), mail, FALSE, FALSE, 0);
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
74 gtk_box_reorder_child(GTK_BOX(vbox), mail, 1);
5314
56ef6a09fb99 [gaim-migrate @ 5686]
Christian Hammond <chipx86@chipx86.com>
parents: 5255
diff changeset
75 g_signal_connect(G_OBJECT(mail), "destroy", G_CALLBACK(destroy_cb), NULL);
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
76 gtk_widget_show(mail);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
77 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
78
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
79 if (count & NEW_MAIL)
4576
99c15f8a04ee [gaim-migrate @ 4857]
Paul Aurich <darkrain42@pidgin.im>
parents: 4575
diff changeset
80 gaim_sound_play_event(GAIM_SOUND_POUNCE_DEFAULT);
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
81
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
82 if (count & UNREAD_MAIL)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
83 gtk_label_set_text(GTK_LABEL(mail), "You have new mail!");
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
84 else if (count & ANY_MAIL)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
85 gtk_label_set_text(GTK_LABEL(mail), "You have mail.");
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
86 else
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
87 gtk_label_set_text(GTK_LABEL(mail), "No mail messages.");
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
88
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
89 return TRUE;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
90 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
91
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
92 static void signon_cb(GaimConnection *gc)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
93 {
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
94 GaimBuddyList *list = gaim_get_blist();
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
95 if (list && GAIM_IS_GTK_BLIST(list) && !timer) {
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
96 check_timeout(NULL); /* we want the box to be drawn immediately */
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
97 timer = g_timeout_add(2000, check_timeout, NULL);
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
98 }
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
99 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
100
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
101 static void signoff_cb(GaimConnection *gc)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
102 {
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
103 GaimBuddyList *list = gaim_get_blist();
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
104 if ((!list || !GAIM_IS_GTK_BLIST(list) || !GAIM_GTK_BLIST(list)->vbox) && timer) {
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
105 g_source_remove(timer);
2259
125778605342 [gaim-migrate @ 2269]
Daniel J Peng
parents: 1804
diff changeset
106 timer = 0;
125778605342 [gaim-migrate @ 2269]
Daniel J Peng
parents: 1804
diff changeset
107 }
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
108 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
109
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
110 /*
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
111 * EXPORTED FUNCTIONS
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
112 */
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
113
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
114 static gboolean
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
115 plugin_load(GaimPlugin *plugin)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
116 {
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
117 GaimBuddyList *list = gaim_get_blist();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
118 void *conn_handle = gaim_connections_get_handle();
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
119
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
120 if (!check_timeout(NULL)) {
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
121 gaim_debug_warning("mailchk", "Could not read $MAIL or /var/spool/mail/$USER");
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
122 return FALSE;
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
123 }
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
124
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
125 if (list && GAIM_IS_GTK_BLIST(list) && GAIM_GTK_BLIST(list)->vbox)
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
126 timer = g_timeout_add(2000, check_timeout, NULL);
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
127
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
128 gaim_signal_connect(conn_handle, "signed-on",
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
129 plugin, GAIM_CALLBACK(signon_cb), NULL);
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
130 gaim_signal_connect(conn_handle, "signed-off",
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6371
diff changeset
131 plugin, GAIM_CALLBACK(signoff_cb), NULL);
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
132
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
133 return TRUE;
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
134 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
135
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
136 static gboolean
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
137 plugin_unload(GaimPlugin *plugin)
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
138 {
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
139 if (timer)
4168
46523d0de8ab [gaim-migrate @ 4397]
Nathan Walp <nwalp@pidgin.im>
parents: 4165
diff changeset
140 g_source_remove(timer);
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
141 timer = 0;
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
142 if (mail)
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
143 gtk_widget_destroy(mail);
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
144 mail = NULL;
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
145
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
146 return TRUE;
1803
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
147 }
daa06a2e2230 [gaim-migrate @ 1813]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
148
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
149 static GaimPluginInfo info =
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
150 {
9954
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9821
diff changeset
151 GAIM_PLUGIN_MAGIC,
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9821
diff changeset
152 GAIM_MAJOR_VERSION,
52a14a58a33e [gaim-migrate @ 10851]
Nathan Walp <nwalp@pidgin.im>
parents: 9821
diff changeset
153 GAIM_MINOR_VERSION,
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
154 GAIM_PLUGIN_STANDARD,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
155 GAIM_GTK_PLUGIN_TYPE,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
156 0,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
157 NULL,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
158 GAIM_PRIORITY_DEFAULT,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
159 MAILCHK_PLUGIN_ID,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
160 N_("Mail Checker"),
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
161 VERSION,
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
162 N_("Checks for new local mail."),
8598
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
163 N_("Adds a small box to the buddy list that"
6844e36a130a [gaim-migrate @ 9349]
Paul Aurich <darkrain42@pidgin.im>
parents: 6677
diff changeset
164 " shows if you have new mail."),
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
165 "Eric Warmenhoven <eric@warmenhoven.org>",
6371
e92b66ee5518 [gaim-migrate @ 6876]
Christian Hammond <chipx86@chipx86.com>
parents: 6287
diff changeset
166 GAIM_WEBSITE,
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
167 plugin_load,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
168 plugin_unload,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
169 NULL,
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
170 NULL,
8993
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
171 NULL,
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
172 NULL,
6287
54a7a34f6e28 [gaim-migrate @ 6786]
Paul Aurich <darkrain42@pidgin.im>
parents: 6063
diff changeset
173 NULL
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
174 };
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
175
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
176 static void
5920
963bfdefee02 [gaim-migrate @ 6360]
Christian Hammond <chipx86@chipx86.com>
parents: 5314
diff changeset
177 init_plugin(GaimPlugin *plugin)
5255
8aa84137a01f [gaim-migrate @ 5627]
Paul Aurich <darkrain42@pidgin.im>
parents: 5205
diff changeset
178 {
3551
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3060
diff changeset
179 }
acce66c34dbd [gaim-migrate @ 3626]
Sean Egan <seanegan@pidgin.im>
parents: 3060
diff changeset
180
6063
8fbafa2e1846 [gaim-migrate @ 6513]
Nathan Walp <nwalp@pidgin.im>
parents: 5920
diff changeset
181 GAIM_INIT_PLUGIN(mailchk, init_plugin, info)

mercurial