pidgin/plugins/notify.c

Sun, 28 Oct 2007 18:13:50 +0000

author
Casey Harkins <charkins@pidgin.im>
date
Sun, 28 Oct 2007 18:13:50 +0000
changeset 21113
09118de8bda6
parent 21106
b85fbef13eed
child 22539
ef37d79862f8
permissions
-rw-r--r--

Track the actual visibility for the buddy list (unobscured, partially and
fully obscured). This maintains the behavior from the previous commit
(raising partially obscured buddy list instead of hiding), but also
maintains refreshing of the buddy list when partially obscured which the
previous commit broke.

6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
1 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
2 * Purple buddy notification plugin.
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
3 *
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
4 * Copyright (C) 2000-2001, Eric Warmenhoven (original code)
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
5 * Copyright (C) 2002, Etan Reisner <deryni@eden.rutgers.edu> (rewritten code)
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
6 * Copyright (C) 2003, Christian Hammond (update for changed API)
6322
35fdae8a156f [gaim-migrate @ 6821]
Mark Doliner <markdoliner@pidgin.im>
parents: 6302
diff changeset
7 * Copyright (C) 2003, Brian Tarricone <bjt23@cornell.edu> (mostly rewritten)
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
8 * Copyright (C) 2003, Mark Doliner (minor cleanup)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
9 * Copyright (C) 2003, Etan Reisner (largely rewritten again)
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
10 *
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
11 * This program is free software; you can redistribute it and/or modify
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
12 * it under the terms of the GNU General Public License as published by
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
13 * the Free Software Foundation; either version 2 of the License, or
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
14 * (at your option) any later version.
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
15 *
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
16 * This program is distributed in the hope that it will be useful,
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
19 * GNU General Public License for more details.
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
20 *
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
21 * You should have received a copy of the GNU General Public License
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
22 * along with this program; if not, write to the Free Software
19859
71d37b57eff2 The FSF changed its address a while ago; our files were out of date.
John Bailey <rekkanoryo@rekkanoryo.org>
parents: 19717
diff changeset
23 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
24 *
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
25 */
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
26
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
27 /* TODO
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
28 * 22:22:17 <seanegan> deryni: speaking of notify.c... you know what else
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
29 * might be a neat feature?
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
30 * 22:22:30 <seanegan> Changing the window icon.
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
31 * 22:23:25 <deryni> seanegan: To what?
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
32 * 22:23:42 <seanegan> deryni: I dunno. Flash it between the regular icon and
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
33 * blank or something.
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
34 * 22:23:53 <deryni> Also I think purple might re-set that sort of frequently,
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
35 * but I'd have to look.
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
36 * 22:25:16 <seanegan> deryni: I keep my conversations in one workspace and am
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
37 * frequently in an another, and the icon flashing in the pager would be a
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
38 * neat visual clue.
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
39 */
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
40
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
41 /*
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
42 * From Etan, 2002:
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
43 * -Added config dialog
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
44 * -Added control over notification method
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
45 * -Added control over when to release notification
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
46 *
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
47 * -Added option to get notification for chats also
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
48 * -Cleaned up code
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
49 * -Added option to notify on click as it's own option
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
50 * rather then as what happens when on focus isn't clicked
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
51 * -Added apply button to change the denotification methods for
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
52 * open conversation windows
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
53 * -Fixed apply to conversations, count now keeps count across applies
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
54 * -Fixed(?) memory leak, and in the process fixed some stupidities
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
55 * -Hit enter when done editing the title string entry box to save it
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
56 *
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
57 * Thanks to Carles Pina i Estany <carles@pinux.info>
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
58 * for count of new messages option
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
59 *
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
60 * From Brian, 20 July 2003:
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
61 * -Use new xml prefs
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
62 * -Better handling of notification states tracking
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
63 * -Better pref change handling
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
64 * -Fixed a possible memleak and possible crash (rare)
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
65 * -Use gtk_window_get_title() rather than gtkwin->title
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
66 * -Other random fixes and cleanups
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
67 *
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
68 * Etan again, 12 August 2003:
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
69 * -Better use of the new xml prefs
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
70 * -Removed all bitmask stuff
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
71 * -Even better pref change handling
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
72 * -Removed unnecessary functions
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
73 * -Reworking of notification/unnotification stuff
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
74 * -Header file include cleanup
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
75 * -General code cleanup
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
76 *
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
77 * Etan yet again, 04 April 2004:
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
78 * -Re-added Urgent option
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
79 * -Re-added unnotify on focus option (still needs work, as it will only
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
80 * react to focus-in events when the entry or history widgets are focused)
10492
aa49df0671bd [gaim-migrate @ 11782]
Sean Egan <seanegan@pidgin.im>
parents: 10345
diff changeset
81 *
aa49df0671bd [gaim-migrate @ 11782]
Sean Egan <seanegan@pidgin.im>
parents: 10345
diff changeset
82 * Sean, 08 January, 2005:
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
83 * -Added Raise option, formally in Purple proper
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
84 */
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
85
9791
f5c5bda0b96b [gaim-migrate @ 10659]
Gary Kramlich <grim@pidgin.im>
parents: 9303
diff changeset
86 #include "internal.h"
15577
b8129373f65e More pidgin changes
Sean Egan <seanegan@pidgin.im>
parents: 15566
diff changeset
87 #include "pidgin.h"
10492
aa49df0671bd [gaim-migrate @ 11782]
Sean Egan <seanegan@pidgin.im>
parents: 10345
diff changeset
88 #include "gtkprefs.h"
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
89
12604
893fbf89317c [gaim-migrate @ 14939]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 12600
diff changeset
90 #include "conversation.h"
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
91 #include "prefs.h"
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
92 #include "signals.h"
9943
b54a762f60fa [gaim-migrate @ 10835]
Nathan Walp <nwalp@pidgin.im>
parents: 9791
diff changeset
93 #include "version.h"
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
94 #include "debug.h"
4202
8b92de3b1c07 [gaim-migrate @ 4438]
Christian Hammond <chipx86@chipx86.com>
parents: 4165
diff changeset
95
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
96 #include "gtkplugin.h"
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
97 #include "gtkutils.h"
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
98
12959
097505850cdd [gaim-migrate @ 15312]
Etan Reisner <deryni@pidgin.im>
parents: 12604
diff changeset
99 #ifndef _WIN32
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
100 #include <X11/Xatom.h>
3385
994e6baef18e [gaim-migrate @ 3404]
Ben Miller <millebe@cs.earlham.edu>
parents: 3374
diff changeset
101 #include <X11/Xlib.h>
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
102 #include <X11/Xutil.h>
12959
097505850cdd [gaim-migrate @ 15312]
Etan Reisner <deryni@pidgin.im>
parents: 12604
diff changeset
103 #endif
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
104
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
105 #define NOTIFY_PLUGIN_ID "gtk-x11-notify"
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
106
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
107 static PurplePlugin *my_plugin = NULL;
15527
47bf6623b48d Warning fix
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
108 #ifndef _WIN32
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
109 static GdkAtom _Cardinal = GDK_NONE;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
110 static GdkAtom _PurpleUnseenCount = GDK_NONE;
15527
47bf6623b48d Warning fix
Daniel Atallah <datallah@pidgin.im>
parents: 15435
diff changeset
111 #endif
5436
a0e0bacaa196 [gaim-migrate @ 5818]
Christian Hammond <chipx86@chipx86.com>
parents: 5205
diff changeset
112
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
113 /* notification set/unset */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
114 static int notify(PurpleConversation *conv, gboolean increment);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
115 static void notify_win(PidginWindow *purplewin);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
116 static void unnotify(PurpleConversation *conv, gboolean reset);
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
117 static int unnotify_cb(GtkWidget *widget, gpointer data,
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
118 PurpleConversation *conv);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
119
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
120 /* gtk widget callbacks for prefs panel */
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
121 static void type_toggle_cb(GtkWidget *widget, gpointer data);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
122 static void method_toggle_cb(GtkWidget *widget, gpointer data);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
123 static void notify_toggle_cb(GtkWidget *widget, gpointer data);
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
124 static gboolean options_entry_cb(GtkWidget *widget, GdkEventFocus *event,
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
125 gpointer data);
12397
aa64ec827fdf [gaim-migrate @ 14704]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
126 static void apply_method(void);
aa64ec827fdf [gaim-migrate @ 14704]
Richard Laager <rlaager@pidgin.im>
parents: 12286
diff changeset
127 static void apply_notify(void);
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
128
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
129 /* string function */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
130 static void handle_string(PidginWindow *purplewin);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
131
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
132 /* count_title function */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
133 static void handle_count_title(PidginWindow *purplewin);
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
134
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
135 /* count_xprop function */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
136 static void handle_count_xprop(PidginWindow *purplewin);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
137
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
138 /* urgent function */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
139 static void handle_urgent(PidginWindow *purplewin, gboolean set);
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
140
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
141 /* raise function */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
142 static void handle_raise(PidginWindow *purplewin);
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
143
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
144 /****************************************/
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
145 /* Begin doing stuff below this line... */
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
146 /****************************************/
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
147 static guint
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
148 count_messages(PidginWindow *purplewin)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
149 {
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
150 guint count = 0;
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
151 GList *convs = NULL, *l;
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
152
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
153 for (convs = purplewin->gtkconvs; convs != NULL; convs = convs->next) {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
154 PidginConversation *conv = convs->data;
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
155 for (l = conv->convs; l != NULL; l = l->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
156 count += GPOINTER_TO_INT(purple_conversation_get_data(l->data, "notify-message-count"));
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
157 }
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
158 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
159
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
160 return count;
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
161 }
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
162
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
163 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
164 notify(PurpleConversation *conv, gboolean increment)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
165 {
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
166 gint count;
14326
58b553d574cb [gaim-migrate @ 16946]
Etan Reisner <deryni@pidgin.im>
parents: 14253
diff changeset
167 gboolean has_focus;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
168 PidginWindow *purplewin = NULL;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4218
diff changeset
169
19717
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
170 if (conv == NULL || PIDGIN_CONVERSATION(conv) == NULL)
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
171 return 0;
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
172
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
173 /* We want to remove the notifications, but not reset the counter */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
174 unnotify(conv, FALSE);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
175
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
176 purplewin = PIDGIN_CONVERSATION(conv)->win;
5021
a44ca3211a50 [gaim-migrate @ 5357]
Jesse Farmer
parents: 4793
diff changeset
177
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
178 /* If we aren't doing notifications for this type of conversation, return */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
179 if (((purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_IM) &&
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
180 !purple_prefs_get_bool("/plugins/gtk/X11/notify/type_im")) ||
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
181 ((purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT) &&
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
182 !purple_prefs_get_bool("/plugins/gtk/X11/notify/type_chat")))
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
183 return 0;
4203
de3796505980 [gaim-migrate @ 4439]
Etan Reisner <deryni@pidgin.im>
parents: 4202
diff changeset
184
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
185 g_object_get(G_OBJECT(purplewin->window),
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
186 "has-toplevel-focus", &has_focus, NULL);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
187
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
188 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/type_focused") ||
10984
8d8c654bf34d [gaim-migrate @ 12819]
Mark Doliner <markdoliner@pidgin.im>
parents: 10971
diff changeset
189 !has_focus) {
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
190 if (increment) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
191 count = GPOINTER_TO_INT(purple_conversation_get_data(conv, "notify-message-count"));
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
192 count++;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
193 purple_conversation_set_data(conv, "notify-message-count", GINT_TO_POINTER(count));
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
194 }
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
195
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
196 notify_win(purplewin);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
197 }
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
198
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
199 return 0;
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
200 }
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
201
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
202 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
203 notify_win(PidginWindow *purplewin)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
204 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
205 if (count_messages(purplewin) <= 0)
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
206 return;
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
207
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
208 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/method_count"))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
209 handle_count_title(purplewin);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
210 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/method_count_xprop"))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
211 handle_count_xprop(purplewin);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
212 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/method_string"))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
213 handle_string(purplewin);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
214 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/method_urgent"))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
215 handle_urgent(purplewin, TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
216 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/method_raise"))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
217 handle_raise(purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
218 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
219
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
220 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
221 unnotify(PurpleConversation *conv, gboolean reset)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
222 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
223 PurpleConversation *active_conv = NULL;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
224 PidginWindow *purplewin = NULL;
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
225
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
226 g_return_if_fail(conv != NULL);
19717
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
227 if (PIDGIN_CONVERSATION(conv) == NULL)
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
228 return;
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
229
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
230 purplewin = PIDGIN_CONVERSATION(conv)->win;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
231 active_conv = pidgin_conv_window_get_active_conversation(purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
232
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
233 /* reset the conversation window title */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
234 purple_conversation_autoset_title(active_conv);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
235
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
236 if (reset) {
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
237 /* Only need to actually remove the urgent hinting here, since
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
238 * removing it just to have it readded in re-notify is an
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
239 * unnecessary couple extra RTs to the server */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
240 handle_urgent(purplewin, FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
241 purple_conversation_set_data(conv, "notify-message-count", GINT_TO_POINTER(0));
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
242 /* Same logic as for the urgent hint, xprops are also a RT.
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
243 * This needs to go here so that it gets the updated message
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
244 * count. */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
245 handle_count_xprop(purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
246 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
247
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
248 return;
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
249 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
250
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
251 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
252 unnotify_cb(GtkWidget *widget, gpointer data, PurpleConversation *conv)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
253 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
254 if (GPOINTER_TO_INT(purple_conversation_get_data(conv, "notify-message-count")) != 0)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
255 unnotify(conv, TRUE);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
256
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
257 return 0;
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
258 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
259
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
260 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
261 message_displayed_cb(PurpleAccount *account, const char *who, char *message,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
262 PurpleConversation *conv, PurpleMessageFlags flags)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
263 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
264 if ((purple_conversation_get_type(conv) == PURPLE_CONV_TYPE_CHAT &&
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
265 purple_prefs_get_bool("/plugins/gtk/X11/notify/type_chat_nick") &&
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
266 !(flags & PURPLE_MESSAGE_NICK)))
13237
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
267 return FALSE;
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
268
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
269 if ((flags & PURPLE_MESSAGE_RECV) && !(flags & PURPLE_MESSAGE_DELAYED))
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
270 notify(conv, TRUE);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
271
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
272 return FALSE;
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
273 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
274
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
275 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
276 im_sent_im(PurpleAccount *account, const char *receiver, const char *message)
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
277 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
278 PurpleConversation *conv = NULL;
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
279
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
280 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_send")) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
281 conv = purple_find_conversation_with_account(PURPLE_CONV_TYPE_IM, receiver, account);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
282 unnotify(conv, TRUE);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
283 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
284 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
285
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
286 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
287 chat_sent_im(PurpleAccount *account, const char *message, int id)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
288 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
289 PurpleConversation *conv = NULL;
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
290
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
291 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_send")) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
292 conv = purple_find_chat(purple_account_get_connection(account), id);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
293 unnotify(conv, TRUE);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
294 }
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
295 }
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
296
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
297 static int
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
298 attach_signals(PurpleConversation *conv)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
299 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
300 PidginConversation *gtkconv = NULL;
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
301 PidginWindow *gtkwin = NULL;
11728
9d6b2dd687a5 [gaim-migrate @ 14019]
Etan Reisner <deryni@pidgin.im>
parents: 11690
diff changeset
302 GSList *imhtml_ids = NULL, *entry_ids = NULL;
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
303 guint id;
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
304
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
305 gtkconv = PIDGIN_CONVERSATION(conv);
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
306 if (!gtkconv) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
307 purple_debug_misc("notify", "Failed to find gtkconv\n");
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
308 return 0;
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
309 }
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
310
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
311 gtkwin = gtkconv->win;
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4218
diff changeset
312
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
313 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_focus")) {
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
314 /* TODO should really find a way to make this work no matter
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
315 * where the focus is inside the conv window, without having
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
316 * to bind to focus-in-event on the g(d|t)kwindow */
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
317 /* try setting the signal on the focus-in-event for
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
318 * gtkwin->notebook->container? */
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
319 id = g_signal_connect(G_OBJECT(gtkconv->entry), "focus-in-event",
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
320 G_CALLBACK(unnotify_cb), conv);
11728
9d6b2dd687a5 [gaim-migrate @ 14019]
Etan Reisner <deryni@pidgin.im>
parents: 11690
diff changeset
321 entry_ids = g_slist_append(entry_ids, GUINT_TO_POINTER(id));
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
322
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
323 id = g_signal_connect(G_OBJECT(gtkconv->imhtml), "focus-in-event",
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
324 G_CALLBACK(unnotify_cb), conv);
11728
9d6b2dd687a5 [gaim-migrate @ 14019]
Etan Reisner <deryni@pidgin.im>
parents: 11690
diff changeset
325 imhtml_ids = g_slist_append(imhtml_ids, GUINT_TO_POINTER(id));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
326 }
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4218
diff changeset
327
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
328 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_click")) {
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
329 /* TODO similarly should really find a way to allow for
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
330 * clicking in other places of the window */
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
331 id = g_signal_connect(G_OBJECT(gtkconv->entry), "button-press-event",
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
332 G_CALLBACK(unnotify_cb), conv);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
333 entry_ids = g_slist_append(entry_ids, GUINT_TO_POINTER(id));
12286
08d994091c36 [gaim-migrate @ 14590]
Etan Reisner <deryni@pidgin.im>
parents: 12184
diff changeset
334
08d994091c36 [gaim-migrate @ 14590]
Etan Reisner <deryni@pidgin.im>
parents: 12184
diff changeset
335 id = g_signal_connect(G_OBJECT(gtkconv->imhtml), "button-press-event",
08d994091c36 [gaim-migrate @ 14590]
Etan Reisner <deryni@pidgin.im>
parents: 12184
diff changeset
336 G_CALLBACK(unnotify_cb), conv);
08d994091c36 [gaim-migrate @ 14590]
Etan Reisner <deryni@pidgin.im>
parents: 12184
diff changeset
337 imhtml_ids = g_slist_append(imhtml_ids, GUINT_TO_POINTER(id));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
338 }
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
339
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
340 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_type")) {
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
341 id = g_signal_connect(G_OBJECT(gtkconv->entry), "key-press-event",
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
342 G_CALLBACK(unnotify_cb), conv);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
343 entry_ids = g_slist_append(entry_ids, GUINT_TO_POINTER(id));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
344 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
345
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
346 purple_conversation_set_data(conv, "notify-imhtml-signals", imhtml_ids);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
347 purple_conversation_set_data(conv, "notify-entry-signals", entry_ids);
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
348
3428
dac9d27beada [gaim-migrate @ 3454]
Etan Reisner <deryni@pidgin.im>
parents: 3427
diff changeset
349 return 0;
191
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
350 }
b5dc2d299342 [gaim-migrate @ 201]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
diff changeset
351
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
352 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
353 detach_signals(PurpleConversation *conv)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
354 {
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
355 PidginConversation *gtkconv = NULL;
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
356 PidginWindow *gtkwin = NULL;
11606
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
357 GSList *ids = NULL, *l;
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
358
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
359 gtkconv = PIDGIN_CONVERSATION(conv);
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
360 if (!gtkconv)
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
361 return;
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
362 gtkwin = gtkconv->win;
4203
de3796505980 [gaim-migrate @ 4439]
Etan Reisner <deryni@pidgin.im>
parents: 4202
diff changeset
363
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
364 ids = purple_conversation_get_data(conv, "notify-imhtml-signals");
11606
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
365 for (l = ids; l != NULL; l = l->next)
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
366 g_signal_handler_disconnect(gtkconv->imhtml, GPOINTER_TO_INT(l->data));
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
367 g_slist_free(ids);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
368
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
369 ids = purple_conversation_get_data(conv, "notify-entry-signals");
11606
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
370 for (l = ids; l != NULL; l = l->next)
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
371 g_signal_handler_disconnect(gtkconv->entry, GPOINTER_TO_INT(l->data));
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
372 g_slist_free(ids);
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
373
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
374 purple_conversation_set_data(conv, "notify-message-count", GINT_TO_POINTER(0));
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
375
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
376 purple_conversation_set_data(conv, "notify-imhtml-signals", NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
377 purple_conversation_set_data(conv, "notify-entry-signals", NULL);
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
378 }
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
379
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
380 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
381 conv_created(PurpleConversation *conv)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
382 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
383 purple_conversation_set_data(conv, "notify-message-count",
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
384 GINT_TO_POINTER(0));
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
385
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
386 /* always attach the signals, notify() will take care of conversation
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
387 * type checking */
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
388 attach_signals(conv);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
389 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
390
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
391 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
392 conv_switched(PurpleConversation *conv)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
393 {
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
394 #if 0
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
395 PidginWindow *purplewin = purple_conversation_get_window(new_conv);
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
396 #endif
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
397
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
398 /*
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
399 * If the conversation was switched, then make sure we re-notify
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
400 * because Purple will have overwritten our custom window title.
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
401 */
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
402 notify(conv, FALSE);
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
403
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
404 #if 0
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
405 printf("conv_switched - %p - %p\n", old_conv, new_conv);
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
406 printf("count - %d\n", count_messages(purplewin));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
407 if (purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_switch"))
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
408 unnotify(new_conv, FALSE);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
409 else {
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
410 /* if we don't have notification on the window then we don't want to
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
411 * re-notify it */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
412 if (count_messages(purplewin))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
413 notify_win(purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
414 }
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
415 #endif
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
416 }
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
417
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
418 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
419 deleting_conv(PurpleConversation *conv)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
420 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
421 PidginWindow *purplewin = NULL;
19717
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
422 PidginConversation *gtkconv = PIDGIN_CONVERSATION(conv);
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
423
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
424 if (gtkconv == NULL)
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
425 return;
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
426
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
427 detach_signals(conv);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
428
19717
bfc9d0446b60 Do not crash on hidden conversations.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 16749
diff changeset
429 purplewin = gtkconv->win;
11606
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
430
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
431 handle_urgent(purplewin, FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
432 purple_conversation_set_data(conv, "notify-message-count", GINT_TO_POINTER(0));
11606
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
433
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
434 return;
c291435cd3f8 [gaim-migrate @ 13877]
Tim Ringenbach <marv@pidgin.im>
parents: 11581
diff changeset
435
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
436 #if 0
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
437 /* i think this line crashes */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
438 if (count_messages(purplewin))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
439 notify_win(purplewin);
11581
5c7f44be5dfe [gaim-migrate @ 13851]
Tim Ringenbach <marv@pidgin.im>
parents: 11447
diff changeset
440 #endif
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
441 }
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
442
9303
e257ad08c77c [gaim-migrate @ 10107]
Mark Doliner <markdoliner@pidgin.im>
parents: 9298
diff changeset
443 #if 0
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
444 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
445 conversation_dragging(PurpleConversation *active_conv,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
446 PidginWindow *old_purplewin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
447 PidginWindow *new_purplewin)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
448 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
449 if (old_purplewin != new_purplewin) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
450 if (old_purplewin == NULL) {
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
451 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
452 purple_conversation_autoset_title(active_conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
453 handle_urgent(new_purplewin, FALSE);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
454 */
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
455
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
456 if (count_messages(new_purplewin))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
457 notify_win(new_purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
458 } else {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
459 printf("if else count = %d\n", count_messages(new_purplewin));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
460 printf("if else count = %d\n", count_messages(old_purplewin));
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
461 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
462 PurpleConversation *old_active_conv = NULL;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
463 old_active_conv = purple_conv_window_get_active_conversation(new_purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
464
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
465 purple_conversation_autoset_title(old_active_conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
466 handle_urgent(old_purplewin, FALSE);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
467
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
468 if (count_messages(old_purplewin))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
469 notify_win(old_purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
470
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
471 purple_conversation_autoset_title(active_conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
472 handle_urgent(new_purplewin, FALSE);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
473
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
474 if (count_messages(new_purplewin))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
475 notify_win(new_purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
476 */
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
477 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
478 } else {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
479 printf("else count = %d\n", count_messages(new_purplewin));
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
480 printf("else count = %d\n", count_messages(old_purplewin));
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
481 /*
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
482 purple_conversation_autoset_title(active_conv);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
483 handle_urgent(old_purplewin, FALSE);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
484
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
485 if (count_messages(old_purplewin))
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
486 notify_win(old_purplewin);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
487 */
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
488 }
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
489 }
9303
e257ad08c77c [gaim-migrate @ 10107]
Mark Doliner <markdoliner@pidgin.im>
parents: 9298
diff changeset
490 #endif
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
491
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
492 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
493 handle_string(PidginWindow *purplewin)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
494 {
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
495 GtkWindow *window = NULL;
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
496 gchar newtitle[256];
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
497
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
498 g_return_if_fail(purplewin != NULL);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
499
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
500 window = GTK_WINDOW(purplewin->window);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
501 g_return_if_fail(window != NULL);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
502
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
503 g_snprintf(newtitle, sizeof(newtitle), "%s%s",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
504 purple_prefs_get_string("/plugins/gtk/X11/notify/title_string"),
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
505 gtk_window_get_title(window));
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
506 gtk_window_set_title(window, newtitle);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
507 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
508
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
509 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
510 handle_count_title(PidginWindow *purplewin)
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
511 {
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
512 GtkWindow *window;
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
513 char newtitle[256];
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
514
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
515 g_return_if_fail(purplewin != NULL);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
516
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
517 window = GTK_WINDOW(purplewin->window);
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
518 g_return_if_fail(window != NULL);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
519
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
520 g_snprintf(newtitle, sizeof(newtitle), "[%d] %s",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
521 count_messages(purplewin), gtk_window_get_title(window));
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
522 gtk_window_set_title(window, newtitle);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
523 }
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
524
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
525 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
526 handle_count_xprop(PidginWindow *purplewin)
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
527 {
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
528 #ifndef _WIN32
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
529 guint count;
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
530 GtkWidget *window;
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
531 GdkWindow *gdkwin;
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
532
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
533 window = purplewin->window;
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
534 g_return_if_fail(window != NULL);
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
535
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
536 if (_PurpleUnseenCount == GDK_NONE) {
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
537 _PurpleUnseenCount = gdk_atom_intern("_PIDGIN_UNSEEN_COUNT", FALSE);
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
538 }
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
539
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
540 if (_Cardinal == GDK_NONE) {
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
541 _Cardinal = gdk_atom_intern("CARDINAL", FALSE);
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
542 }
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
543
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
544 count = count_messages(purplewin);
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
545 gdkwin = window->window;
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
546
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
547 gdk_property_change(gdkwin, _PurpleUnseenCount, _Cardinal, 32,
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
548 GDK_PROP_MODE_REPLACE, (guchar *) &count, 1);
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
549 #endif
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
550 }
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
551
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
552 static void
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
553 handle_urgent(PidginWindow *win, gboolean set)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
554 {
12959
097505850cdd [gaim-migrate @ 15312]
Etan Reisner <deryni@pidgin.im>
parents: 12604
diff changeset
555 #ifndef _WIN32
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
556 pidgin_set_urgent(GTK_WINDOW(win->window), set);
12959
097505850cdd [gaim-migrate @ 15312]
Etan Reisner <deryni@pidgin.im>
parents: 12604
diff changeset
557 #endif
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
558 }
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
559
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
560 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
561 handle_raise(PidginWindow *purplewin)
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
562 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
563 pidgin_conv_window_raise(purplewin);
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
564 }
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
565
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
566 static void
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
567 type_toggle_cb(GtkWidget *widget, gpointer data)
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
568 {
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
569 gboolean on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
570 gchar pref[256];
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4218
diff changeset
571
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
572 g_snprintf(pref, sizeof(pref), "/plugins/gtk/X11/notify/%s",
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
573 (char *)data);
4359
cf899ee07d1d [gaim-migrate @ 4625]
Christian Hammond <chipx86@chipx86.com>
parents: 4218
diff changeset
574
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
575 purple_prefs_set_bool(pref, on);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
576 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
577
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
578 static void
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
579 method_toggle_cb(GtkWidget *widget, gpointer data)
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
580 {
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
581 gboolean on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
582 gchar pref[256];
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
583
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
584 g_snprintf(pref, sizeof(pref), "/plugins/gtk/X11/notify/%s",
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
585 (char *)data);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
586
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
587 purple_prefs_set_bool(pref, on);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
588
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
589 if (!strcmp(data, "method_string")) {
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
590 GtkWidget *entry = g_object_get_data(G_OBJECT(widget), "title-entry");
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
591 gtk_widget_set_sensitive(entry, on);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
592
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
593 purple_prefs_set_string("/plugins/gtk/X11/notify/title_string",
14448
eb12c7259f09 [gaim-migrate @ 17092]
Etan Reisner <deryni@pidgin.im>
parents: 14389
diff changeset
594 gtk_entry_get_text(GTK_ENTRY(entry)));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
595 }
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
596
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
597 apply_method();
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
598 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
599
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
600 static void
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
601 notify_toggle_cb(GtkWidget *widget, gpointer data)
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
602 {
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
603 gboolean on = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(widget));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
604 gchar pref[256];
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
605
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
606 g_snprintf(pref, sizeof(pref), "/plugins/gtk/X11/notify/%s",
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
607 (char *)data);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
608
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
609 purple_prefs_set_bool(pref, on);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
610
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
611 apply_notify();
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
612 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
613
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
614 static gboolean
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
615 options_entry_cb(GtkWidget *widget, GdkEventFocus *evt, gpointer data)
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
616 {
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
617 if (data == NULL)
6982
12f08de92674 [gaim-migrate @ 7538]
Mark Doliner <markdoliner@pidgin.im>
parents: 6977
diff changeset
618 return FALSE;
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
619
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
620 if (!strcmp(data, "method_string")) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
621 purple_prefs_set_string("/plugins/gtk/X11/notify/title_string",
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
622 gtk_entry_get_text(GTK_ENTRY(widget)));
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
623 }
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
624
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
625 apply_method();
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
626
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
627 return FALSE;
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
628 }
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
629
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
630 static void
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
631 apply_method()
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
632 {
13664
fdc3b588f248 [gaim-migrate @ 16065]
Richard Laager <rlaager@pidgin.im>
parents: 13550
diff changeset
633 GList *convs;
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
634 PidginWindow *purplewin = NULL;
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
635
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
636 for (convs = purple_get_conversations(); convs != NULL;
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
637 convs = convs->next) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
638 PurpleConversation *conv = (PurpleConversation *)convs->data;
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
639
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
640 /* remove notifications */
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
641 unnotify(conv, FALSE);
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
642
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
643 purplewin = PIDGIN_CONVERSATION(conv)->win;
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
644 if (GPOINTER_TO_INT(purple_conversation_get_data(conv, "notify-message-count")) != 0)
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
645 /* reattach appropriate notifications */
14385
6fe2e3b55b4c [gaim-migrate @ 17018]
Etan Reisner <deryni@pidgin.im>
parents: 14326
diff changeset
646 notify(conv, FALSE);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
647 }
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
648 }
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
649
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
650 static void
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
651 apply_notify()
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
652 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
653 GList *convs = purple_get_conversations();
6485
3c7ba18e32f1 [gaim-migrate @ 6999]
Christian Hammond <chipx86@chipx86.com>
parents: 6464
diff changeset
654
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
655 while (convs) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
656 PurpleConversation *conv = (PurpleConversation *)convs->data;
4203
de3796505980 [gaim-migrate @ 4439]
Etan Reisner <deryni@pidgin.im>
parents: 4202
diff changeset
657
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
658 /* detach signals */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
659 detach_signals(conv);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
660 /* reattach appropriate signals */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
661 attach_signals(conv);
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
662
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
663 convs = convs->next;
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
664 }
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
665 }
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
666
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
667 static GtkWidget *
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
668 get_config_frame(PurplePlugin *plugin)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
669 {
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
670 GtkWidget *ret = NULL, *frame = NULL;
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
671 GtkWidget *vbox = NULL, *hbox = NULL;
13237
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
672 GtkWidget *toggle = NULL, *entry = NULL, *ref;
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
673
3565
66a8f8dcaacc [gaim-migrate @ 3660]
Sean Egan <seanegan@pidgin.im>
parents: 3561
diff changeset
674 ret = gtk_vbox_new(FALSE, 18);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
675 gtk_container_set_border_width(GTK_CONTAINER (ret), 12);
3392
797d3b3ebe20 [gaim-migrate @ 3411]
Etan Reisner <deryni@pidgin.im>
parents: 3385
diff changeset
676
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
677 /*---------- "Notify For" ----------*/
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
678 frame = pidgin_make_frame(ret, _("Notify For"));
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
679 vbox = gtk_vbox_new(FALSE, 5);
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
680 gtk_container_add(GTK_CONTAINER(frame), vbox);
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
681
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
682 toggle = gtk_check_button_new_with_mnemonic(_("_IM windows"));
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
683 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
684 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
685 purple_prefs_get_bool("/plugins/gtk/X11/notify/type_im"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
686 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
687 G_CALLBACK(type_toggle_cb), "type_im");
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
688
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
689 toggle = gtk_check_button_new_with_mnemonic(_("C_hat windows"));
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
690 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
691 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
692 purple_prefs_get_bool("/plugins/gtk/X11/notify/type_chat"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
693 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
694 G_CALLBACK(type_toggle_cb), "type_chat");
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
695
13237
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
696 ref = toggle;
13550
55c77cece2d0 [gaim-migrate @ 15926]
Richard Laager <rlaager@pidgin.im>
parents: 13237
diff changeset
697 toggle = gtk_check_button_new_with_mnemonic(_("\t_Only when someone says your screen name"));
13237
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
698 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
699 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
700 purple_prefs_get_bool("/plugins/gtk/X11/notify/type_chat_nick"));
13237
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
701 g_signal_connect(G_OBJECT(toggle), "toggled",
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
702 G_CALLBACK(type_toggle_cb), "type_chat_nick");
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
703 gtk_widget_set_sensitive(toggle, gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(ref)));
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
704 g_signal_connect(G_OBJECT(ref), "toggled",
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
705 G_CALLBACK(pidgin_toggle_sensitive), toggle);
13237
9556cdf38196 [gaim-migrate @ 15602]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents: 13234
diff changeset
706
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
707 toggle = gtk_check_button_new_with_mnemonic(_("_Focused windows"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
708 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
709 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
710 purple_prefs_get_bool("/plugins/gtk/X11/notify/type_focused"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
711 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
712 G_CALLBACK(type_toggle_cb), "type_focused");
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
713
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
714 /*---------- "Notification Methods" ----------*/
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
715 frame = pidgin_make_frame(ret, _("Notification Methods"));
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
716 vbox = gtk_vbox_new(FALSE, 5);
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
717 gtk_container_add(GTK_CONTAINER(frame), vbox);
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
718
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
719 /* String method button */
3565
66a8f8dcaacc [gaim-migrate @ 3660]
Sean Egan <seanegan@pidgin.im>
parents: 3561
diff changeset
720 hbox = gtk_hbox_new(FALSE, 18);
66a8f8dcaacc [gaim-migrate @ 3660]
Sean Egan <seanegan@pidgin.im>
parents: 3561
diff changeset
721 gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
722 toggle = gtk_check_button_new_with_mnemonic(_("Prepend _string into window title:"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
723 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
724 purple_prefs_get_bool("/plugins/gtk/X11/notify/method_string"));
3565
66a8f8dcaacc [gaim-migrate @ 3660]
Sean Egan <seanegan@pidgin.im>
parents: 3561
diff changeset
725 gtk_box_pack_start(GTK_BOX(hbox), toggle, FALSE, FALSE, 0);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
726
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
727 entry = gtk_entry_new();
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
728 gtk_box_pack_start(GTK_BOX(hbox), entry, FALSE, FALSE, 0);
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
729 gtk_entry_set_max_length(GTK_ENTRY(entry), 10);
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
730 gtk_widget_set_sensitive(GTK_WIDGET(entry),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
731 purple_prefs_get_bool("/plugins/gtk/X11/notify/method_string"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
732 gtk_entry_set_text(GTK_ENTRY(entry),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
733 purple_prefs_get_string("/plugins/gtk/X11/notify/title_string"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
734 g_object_set_data(G_OBJECT(toggle), "title-entry", entry);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
735 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
736 G_CALLBACK(method_toggle_cb), "method_string");
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
737 g_signal_connect(G_OBJECT(entry), "focus-out-event",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
738 G_CALLBACK(options_entry_cb), "method_string");
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
739
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
740 /* Count method button */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
741 toggle = gtk_check_button_new_with_mnemonic(_("Insert c_ount of new messages into window title"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
742 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
743 purple_prefs_get_bool("/plugins/gtk/X11/notify/method_count"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
744 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
745 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
746 G_CALLBACK(method_toggle_cb), "method_count");
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
747
12959
097505850cdd [gaim-migrate @ 15312]
Etan Reisner <deryni@pidgin.im>
parents: 12604
diff changeset
748 #ifndef _WIN32
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
749 /* Count xprop method button */
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
750 toggle = gtk_check_button_new_with_mnemonic(_("Insert count of new message into _X property"));
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
751 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
752 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
753 purple_prefs_get_bool("/plugins/gtk/X11/notify/method_count_xprop"));
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
754 g_signal_connect(G_OBJECT(toggle), "toggled",
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
755 G_CALLBACK(method_toggle_cb), "method_count_xprop");
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
756
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
757 /* Urgent method button */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
758 toggle = gtk_check_button_new_with_mnemonic(_("Set window manager \"_URGENT\" hint"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
759 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
760 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
761 purple_prefs_get_bool("/plugins/gtk/X11/notify/method_urgent"));
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
762 g_signal_connect(G_OBJECT(toggle), "toggled",
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
763 G_CALLBACK(method_toggle_cb), "method_urgent");
12959
097505850cdd [gaim-migrate @ 15312]
Etan Reisner <deryni@pidgin.im>
parents: 12604
diff changeset
764 #endif
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
765
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
766 /* Raise window method button */
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
767 toggle = gtk_check_button_new_with_mnemonic(_("R_aise conversation window"));
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
768 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
769 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
770 purple_prefs_get_bool("/plugins/gtk/X11/notify/method_raise"));
10606
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
771 g_signal_connect(G_OBJECT(toggle), "toggled",
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
772 G_CALLBACK(method_toggle_cb), "method_raise");
2da2a96f3627 [gaim-migrate @ 12039]
Etan Reisner <deryni@pidgin.im>
parents: 10492
diff changeset
773
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
774 /*---------- "Notification Removals" ----------*/
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
775 frame = pidgin_make_frame(ret, _("Notification Removal"));
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
776 vbox = gtk_vbox_new(FALSE, 5);
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
777 gtk_container_add(GTK_CONTAINER(frame), vbox);
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
778
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
779 /* Remove on focus button */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
780 toggle = gtk_check_button_new_with_mnemonic(_("Remove when conversation window _gains focus"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
781 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
782 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
783 purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_focus"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
784 g_signal_connect(G_OBJECT(toggle), "toggled", G_CALLBACK(notify_toggle_cb), "notify_focus");
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
785
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
786 /* Remove on click button */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
787 toggle = gtk_check_button_new_with_mnemonic(_("Remove when conversation window _receives click"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
788 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
789 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
790 purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_click"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
791 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
792 G_CALLBACK(notify_toggle_cb), "notify_click");
3710
fafc6dbd69ce [gaim-migrate @ 3843]
Etan Reisner <deryni@pidgin.im>
parents: 3565
diff changeset
793
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
794 /* Remove on type button */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
795 toggle = gtk_check_button_new_with_mnemonic(_("Remove when _typing in conversation window"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
796 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
797 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
798 purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_type"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
799 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
800 G_CALLBACK(notify_toggle_cb), "notify_type");
4035
eb7ae74cf1e6 [gaim-migrate @ 4241]
Etan Reisner <deryni@pidgin.im>
parents: 3710
diff changeset
801
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
802 /* Remove on message send button */
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
803 toggle = gtk_check_button_new_with_mnemonic(_("Remove when a _message gets sent"));
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
804 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
805 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
806 purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_send"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
807 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
808 G_CALLBACK(notify_toggle_cb), "notify_send");
3565
66a8f8dcaacc [gaim-migrate @ 3660]
Sean Egan <seanegan@pidgin.im>
parents: 3561
diff changeset
809
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
810 #if 0
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
811 /* Remove on conversation switch button */
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
812 toggle = gtk_check_button_new_with_mnemonic(_("Remove on switch to conversation ta_b"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
813 gtk_box_pack_start(GTK_BOX(vbox), toggle, FALSE, FALSE, 0);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
814 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggle),
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
815 purple_prefs_get_bool("/plugins/gtk/X11/notify/notify_switch"));
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
816 g_signal_connect(G_OBJECT(toggle), "toggled",
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
817 G_CALLBACK(notify_toggle_cb), "notify_switch");
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
818 #endif
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
819
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
820 gtk_widget_show_all(ret);
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
821 return ret;
3374
4792e03572f4 [gaim-migrate @ 3393]
Sean Egan <seanegan@pidgin.im>
parents: 2313
diff changeset
822 }
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
823
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
824 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
825 plugin_load(PurplePlugin *plugin)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
826 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
827 GList *convs = purple_get_conversations();
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
828 void *conv_handle = purple_conversations_get_handle();
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
829 void *gtk_conv_handle = pidgin_conversations_get_handle();
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
830
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
831 my_plugin = plugin;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
832
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
833 purple_signal_connect(gtk_conv_handle, "displayed-im-msg", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
834 PURPLE_CALLBACK(message_displayed_cb), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
835 purple_signal_connect(gtk_conv_handle, "displayed-chat-msg", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
836 PURPLE_CALLBACK(message_displayed_cb), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
837 purple_signal_connect(gtk_conv_handle, "conversation-switched", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
838 PURPLE_CALLBACK(conv_switched), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
839 purple_signal_connect(conv_handle, "sent-im-msg", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
840 PURPLE_CALLBACK(im_sent_im), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
841 purple_signal_connect(conv_handle, "sent-chat-msg", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
842 PURPLE_CALLBACK(chat_sent_im), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
843 purple_signal_connect(conv_handle, "conversation-created", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
844 PURPLE_CALLBACK(conv_created), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
845 purple_signal_connect(conv_handle, "chat-joined", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
846 PURPLE_CALLBACK(conv_created), NULL);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
847 purple_signal_connect(conv_handle, "deleting-conversation", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
848 PURPLE_CALLBACK(deleting_conv), NULL);
10971
4c823ffab27a [gaim-migrate @ 12796]
Mark Doliner <markdoliner@pidgin.im>
parents: 10841
diff changeset
849 #if 0
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
850 purple_signal_connect(gtk_conv_handle, "conversation-dragging", plugin,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
851 PURPLE_CALLBACK(conversation_dragging), NULL);
9303
e257ad08c77c [gaim-migrate @ 10107]
Mark Doliner <markdoliner@pidgin.im>
parents: 9298
diff changeset
852 #endif
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
853
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
854 while (convs) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
855 PurpleConversation *conv = (PurpleConversation *)convs->data;
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
856
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
857 /* attach signals */
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
858 attach_signals(conv);
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
859
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
860 convs = convs->next;
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
861 }
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
862
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
863 return TRUE;
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
864 }
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
865
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
866 static gboolean
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
867 plugin_unload(PurplePlugin *plugin)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
868 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
869 GList *convs = purple_get_conversations();
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
870
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
871 while (convs) {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
872 PurpleConversation *conv = (PurpleConversation *)convs->data;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
873
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
874 /* kill signals */
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
875 detach_signals(conv);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
876
6977
31d3aaaf371d [gaim-migrate @ 7530]
Etan Reisner <deryni@pidgin.im>
parents: 6735
diff changeset
877 convs = convs->next;
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
878 }
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
879
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
880 return TRUE;
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
881 }
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
882
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
883 static PidginPluginUiInfo ui_info =
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
884 {
12600
7ecd4441fdc7 [gaim-migrate @ 14934]
Richard Laager <rlaager@pidgin.im>
parents: 12397
diff changeset
885 get_config_frame,
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
886 0, /* page_num (Reserved) */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
887
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
888 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
889 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
890 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
891 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
892 NULL
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
893 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
894
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
895 static PurplePluginInfo info =
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
896 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
897 PURPLE_PLUGIN_MAGIC,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
898 PURPLE_MAJOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
899 PURPLE_MINOR_VERSION,
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
900 PURPLE_PLUGIN_STANDARD, /**< type */
15562
8c8249fe5e3c gaim_gtk to pidgin. I hope
Sean Egan <seanegan@pidgin.im>
parents: 15527
diff changeset
901 PIDGIN_PLUGIN_TYPE, /**< ui_requirement */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
902 0, /**< flags */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
903 NULL, /**< dependencies */
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
904 PURPLE_PRIORITY_DEFAULT, /**< priority */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
905
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
906 NOTIFY_PLUGIN_ID, /**< id */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
907 N_("Message Notification"), /**< name */
21106
b85fbef13eed Add a --with-extraversion option to ./configure so packagers can fine tune
Stu Tomlinson <nosnilmot@pidgin.im>
parents: 19859
diff changeset
908 DISPLAY_VERSION, /**< version */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
909 /** summary */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
910 N_("Provides a variety of ways of notifying you of unread messages."),
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
911 /** description */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
912 N_("Provides a variety of ways of notifying you of unread messages."),
14389
a5e005abbed9 [gaim-migrate @ 17022]
Etan Reisner <deryni@pidgin.im>
parents: 14385
diff changeset
913 /**< author */
9298
86a7b7f005c1 [gaim-migrate @ 10101]
Etan Reisner <deryni@pidgin.im>
parents: 8999
diff changeset
914 "Etan Reisner <deryni@eden.rutgers.edu>\n\t\t\tBrian Tarricone <bjt23@cornell.edu>",
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
915 PURPLE_WEBSITE, /**< homepage */
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
916
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
917 plugin_load, /**< load */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
918 plugin_unload, /**< unload */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
919 NULL, /**< destroy */
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
920
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
921 &ui_info, /**< ui_info */
8993
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
922 NULL, /**< extra_info */
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
923 NULL,
16749
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
924 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
925
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
926 /* padding */
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
927 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
928 NULL,
14a3fdc0aed7 Default plugins are done, for the release i'm not that concerned about plugins that do _NOT_ compile by default
Gary Kramlich <grim@reaperworld.com>
parents: 15884
diff changeset
929 NULL,
8993
41f67bceab41 [gaim-migrate @ 9768]
Luke Schierer <lschiere@pidgin.im>
parents: 8749
diff changeset
930 NULL
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
931 };
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
932
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
933 static void
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
934 init_plugin(PurplePlugin *plugin)
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
935 {
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
936 purple_prefs_add_none("/plugins/gtk");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
937 purple_prefs_add_none("/plugins/gtk/X11");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
938 purple_prefs_add_none("/plugins/gtk/X11/notify");
6302
94b9c158969c [gaim-migrate @ 6801]
Brian Tarricon
parents: 6063
diff changeset
939
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
940 purple_prefs_add_bool("/plugins/gtk/X11/notify/type_im", TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
941 purple_prefs_add_bool("/plugins/gtk/X11/notify/type_chat", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
942 purple_prefs_add_bool("/plugins/gtk/X11/notify/type_chat_nick", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
943 purple_prefs_add_bool("/plugins/gtk/X11/notify/type_focused", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
944 purple_prefs_add_bool("/plugins/gtk/X11/notify/method_string", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
945 purple_prefs_add_string("/plugins/gtk/X11/notify/title_string", "(*)");
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
946 purple_prefs_add_bool("/plugins/gtk/X11/notify/method_urgent", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
947 purple_prefs_add_bool("/plugins/gtk/X11/notify/method_count", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
948 purple_prefs_add_bool("/plugins/gtk/X11/notify/method_count_xprop", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
949 purple_prefs_add_bool("/plugins/gtk/X11/notify/method_raise", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
950 purple_prefs_add_bool("/plugins/gtk/X11/notify/notify_focus", TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
951 purple_prefs_add_bool("/plugins/gtk/X11/notify/notify_click", FALSE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
952 purple_prefs_add_bool("/plugins/gtk/X11/notify/notify_type", TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
953 purple_prefs_add_bool("/plugins/gtk/X11/notify/notify_send", TRUE);
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
954 purple_prefs_add_bool("/plugins/gtk/X11/notify/notify_switch", TRUE);
5205
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
955 }
242b8aa81328 [gaim-migrate @ 5573]
Christian Hammond <chipx86@chipx86.com>
parents: 5021
diff changeset
956
15884
4de1981757fc sed -ie 's/gaim/purple/g'
Sean Egan <seanegan@pidgin.im>
parents: 15577
diff changeset
957 PURPLE_INIT_PLUGIN(notify, init_plugin, info)

mercurial