Tue, 03 Jan 2012 19:29:20 +0000
pidgin/finch: Make relative paths absolute with -c
With a relative path (-c .purple-test), the WebKit message view
rendering wasn't loading my theme code nor icons properly (which
suggests that the webkit has a different base file URI).
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
1 | /** |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15914
diff
changeset
|
2 | * finch |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
3 | * |
|
15931
716b5fac1895
Re-sed the copyright notices so they don't all talk about Purple.
Richard Laager <rlaager@pidgin.im>
parents:
15914
diff
changeset
|
4 | * Finch is the legal property of its developers, whose names are too numerous |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
5 | * to list here. Please refer to the COPYRIGHT file distributed with this |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
6 | * source distribution. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
7 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
8 | * This program is free software; you can redistribute it and/or modify |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
9 | * it under the terms of the GNU General Public License as published by |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
10 | * the Free Software Foundation; either version 2 of the License, or |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
11 | * (at your option) any later version. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
12 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
13 | * This program is distributed in the hope that it will be useful, |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
16 | * GNU General Public License for more details. |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
17 | * |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
18 | * You should have received a copy of the GNU General Public License |
|
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
19 | * 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:
19733
diff
changeset
|
20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02111-1301 USA |
|
14620
90d599495d65
[gaim-migrate @ 17281]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14413
diff
changeset
|
21 | */ |
|
29106
51c7b2177e42
Fix all the remaining files for which internal.h doesn't end up being the first include.
Paul Aurich <darkrain42@pidgin.im>
parents:
27945
diff
changeset
|
22 | #include <internal.h> |
|
18273
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
18075
diff
changeset
|
23 | #include "finch.h" |
|
e61c53184c52
#include reorganizations to allow compiling with glib < 2.8 using the
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
18075
diff
changeset
|
24 | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
25 | #include "account.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
26 | #include "conversation.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
27 | #include "core.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
28 | #include "debug.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
29 | #include "eventloop.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
30 | #include "ft.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
31 | #include "log.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
32 | #include "notify.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
33 | #include "prefs.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
34 | #include "prpl.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
35 | #include "pounce.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
36 | #include "savedstatuses.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
37 | #include "sound.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
38 | #include "status.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
39 | #include "util.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
40 | #include "whiteboard.h" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
41 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
42 | #include "gntdebug.h" |
|
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
43 | #include "gntprefs.h" |
|
13958
bd1c3bb3f33d
[gaim-migrate @ 16381]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13931
diff
changeset
|
44 | #include "gntui.h" |
|
15802
1e124a68997e
gntgaim idle reporting, this fixes idle return
Richard Nelson <wabz@pidgin.im>
parents:
15746
diff
changeset
|
45 | #include "gntidle.h" |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
46 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
47 | #define _GNU_SOURCE |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
48 | #include <getopt.h> |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
49 | |
|
14253
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14078
diff
changeset
|
50 | #include "config.h" |
|
27945
93ece0c6a9ad
Add the MTN revision in the Pidgin About and finch --version dialogs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27829
diff
changeset
|
51 | #include "package_revision.h" |
|
14253
b63ebf84c42b
This is a hand-crafted commit to migrate across subversion revisions
Ethan Blanton <elb@pidgin.im>
parents:
14078
diff
changeset
|
52 | |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
53 | static void |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21720
diff
changeset
|
54 | debug_init(void) |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
55 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15802
diff
changeset
|
56 | finch_debug_init(); |
| 15884 | 57 | purple_debug_set_ui_ops(finch_debug_get_ui_ops()); |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
58 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
59 | |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
60 | static GHashTable *ui_info = NULL; |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21720
diff
changeset
|
61 | static GHashTable *finch_ui_get_info(void) |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
62 | { |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
63 | if (ui_info == NULL) { |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
64 | ui_info = g_hash_table_new(g_str_hash, g_str_equal); |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
65 | |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
66 | g_hash_table_insert(ui_info, "name", (char*)_("Finch")); |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
67 | g_hash_table_insert(ui_info, "version", VERSION); |
|
23546
4210d3d9cc16
Added website and dev_website items to Finch's ui_get_info hash table
Evan Schoenberg <evands@pidgin.im>
parents:
22104
diff
changeset
|
68 | g_hash_table_insert(ui_info, "website", "http://pidgin.im"); |
|
4210d3d9cc16
Added website and dev_website items to Finch's ui_get_info hash table
Evan Schoenberg <evands@pidgin.im>
parents:
22104
diff
changeset
|
69 | g_hash_table_insert(ui_info, "dev_website", "http://developer.pidgin.im"); |
|
25578
c0c1b73f4fb1
Changed "type" to "client_type" for the hash value specifying client type
Marcus Lundblad <malu@pidgin.im>
parents:
25577
diff
changeset
|
70 | g_hash_table_insert(ui_info, "client_type", "console"); |
|
27685
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
71 | |
|
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
72 | /* |
|
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
73 | * This is the client key for "Finch." It is owned by the AIM |
|
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
74 | * account "markdoliner." Please don't use this key for other |
|
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
75 | * applications. You can either not specify a client key, in |
|
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
76 | * which case the default "libpurple" key will be used, or you |
|
31881
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
77 | * can try to register your own at the AIM or ICQ web sites |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
78 | * (although this functionality was removed at some point, it's |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
79 | * possible it has been re-added). AOL's old key management |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
80 | * page is http://developer.aim.com/manageKeys.jsp |
|
27685
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
81 | */ |
|
6e8ce73aa4a4
Use a custom clientkey for AIM and ICQ for Pidgin and Finch
Mark Doliner <markdoliner@pidgin.im>
parents:
25578
diff
changeset
|
82 | g_hash_table_insert(ui_info, "prpl-aim-clientkey", "ma19sqWV9ymU6UYc"); |
|
31881
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
83 | |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
84 | /* |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
85 | * This is the client key for "Pidgin." It is owned by the AIM |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
86 | * account "markdoliner." Please don't use this key for other |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
87 | * applications. You can either not specify a client key, in |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
88 | * which case the default "libpurple" key will be used, or you |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
89 | * can try to register your own at the AIM or ICQ web sites |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
90 | * (although this functionality was removed at some point, it's |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
91 | * possible it has been re-added). AOL's old key management |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
92 | * page is http://developer.aim.com/manageKeys.jsp |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
93 | * |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
94 | * We used to have a Finch-specific devId/clientkey |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
95 | * (ma19sqWV9ymU6UYc), but it stopped working, so we switched |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
96 | * to this one. |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
97 | */ |
|
fb4435d51439
Change Finch to use Pidgin's clientkey/devid when connecting to ICQ.
Mark Doliner <markdoliner@pidgin.im>
parents:
31294
diff
changeset
|
98 | g_hash_table_insert(ui_info, "prpl-icq-clientkey", "ma1cSASNCKFtrdv9"); |
|
27688
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
99 | |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
100 | /* |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
101 | * This is the distid for Finch, given to us by AOL. Please |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
102 | * don't use this for other applications. You can just not |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
103 | * specify a distid and libpurple will use a default. |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
104 | */ |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
105 | g_hash_table_insert(ui_info, "prpl-aim-distid", GINT_TO_POINTER(1552)); |
|
8c89470bfe9d
Oh, we don't need a special ui_info field for the AIM clientstring
Mark Doliner <markdoliner@pidgin.im>
parents:
27685
diff
changeset
|
106 | g_hash_table_insert(ui_info, "prpl-icq-distid", GINT_TO_POINTER(1552)); |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
107 | } |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
108 | |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
109 | return ui_info; |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
110 | } |
|
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
111 | |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
112 | static void |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
113 | finch_quit(void) |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
114 | { |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
115 | gnt_ui_uninit(); |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
116 | if (ui_info) |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
117 | g_hash_table_destroy(ui_info); |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
118 | } |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
119 | |
| 15884 | 120 | static PurpleCoreUiOps core_ops = |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
121 | { |
|
15878
f52832b611fe
renamed gaim-text to finch
Sean Egan <seanegan@pidgin.im>
parents:
15802
diff
changeset
|
122 | finch_prefs_init, |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
123 | debug_init, |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14808
diff
changeset
|
124 | gnt_ui_init, |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
125 | finch_quit, |
|
18442
99c6a0271b1d
UI info for finch and pidgin (finch guys probably want to take a look
Nathan Walp <nwalp@pidgin.im>
parents:
18273
diff
changeset
|
126 | finch_ui_get_info, |
|
16748
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
127 | |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
128 | /* padding */ |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
129 | NULL, |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
130 | NULL, |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
131 | NULL |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
132 | }; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
133 | |
| 15884 | 134 | static PurpleCoreUiOps * |
|
22104
56970903b8e9
Probe for -Wstrict-prototypes to get some more warnings. I then cleaned up
Richard Laager <rlaager@pidgin.im>
parents:
21720
diff
changeset
|
135 | gnt_core_get_ui_ops(void) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
136 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
137 | return &core_ops; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
138 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
139 | |
| 15884 | 140 | /* Anything IO-related is directly copied from gtkpurple's source tree */ |
|
14045
12b8c2bfd3fb
[gaim-migrate @ 16552]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14028
diff
changeset
|
141 | |
| 15884 | 142 | #define FINCH_READ_COND (G_IO_IN | G_IO_HUP | G_IO_ERR) |
| 143 | #define FINCH_WRITE_COND (G_IO_OUT | G_IO_HUP | G_IO_ERR | G_IO_NVAL) | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
144 | |
| 15884 | 145 | typedef struct _PurpleGntIOClosure { |
| 146 | PurpleInputFunction function; | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
147 | guint result; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
148 | gpointer data; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
149 | |
| 15884 | 150 | } PurpleGntIOClosure; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
151 | |
| 15884 | 152 | static void purple_gnt_io_destroy(gpointer data) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
153 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
154 | g_free(data); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
155 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
156 | |
| 15884 | 157 | static gboolean purple_gnt_io_invoke(GIOChannel *source, GIOCondition condition, gpointer data) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
158 | { |
| 15884 | 159 | PurpleGntIOClosure *closure = data; |
| 160 | PurpleInputCondition purple_cond = 0; | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
161 | |
| 15884 | 162 | if (condition & FINCH_READ_COND) |
| 163 | purple_cond |= PURPLE_INPUT_READ; | |
| 164 | if (condition & FINCH_WRITE_COND) | |
| 165 | purple_cond |= PURPLE_INPUT_WRITE; | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
166 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
167 | #if 0 |
| 15884 | 168 | purple_debug(PURPLE_DEBUG_MISC, "gtk_eventloop", |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
169 | "CLOSURE: callback for %d, fd is %d\n", |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
170 | closure->result, g_io_channel_unix_get_fd(source)); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
171 | #endif |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
172 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
173 | #ifdef _WIN32 |
| 15884 | 174 | if(! purple_cond) { |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
175 | #if DEBUG |
| 15884 | 176 | purple_debug_misc("gnt_eventloop", |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
177 | "CLOSURE received GIOCondition of 0x%x, which does not" |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
178 | " match 0x%x (READ) or 0x%x (WRITE)\n", |
| 15884 | 179 | condition, FINCH_READ_COND, FINCH_WRITE_COND); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
180 | #endif /* DEBUG */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
181 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
182 | return TRUE; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
183 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
184 | #endif /* _WIN32 */ |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
185 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
186 | closure->function(closure->data, g_io_channel_unix_get_fd(source), |
| 15884 | 187 | purple_cond); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
188 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
189 | return TRUE; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
190 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
191 | |
| 15884 | 192 | static guint gnt_input_add(gint fd, PurpleInputCondition condition, PurpleInputFunction function, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
193 | gpointer data) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
194 | { |
| 15884 | 195 | PurpleGntIOClosure *closure = g_new0(PurpleGntIOClosure, 1); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
196 | GIOChannel *channel; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
197 | GIOCondition cond = 0; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
198 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
199 | closure->function = function; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
200 | closure->data = data; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
201 | |
| 15884 | 202 | if (condition & PURPLE_INPUT_READ) |
| 203 | cond |= FINCH_READ_COND; | |
| 204 | if (condition & PURPLE_INPUT_WRITE) | |
| 205 | cond |= FINCH_WRITE_COND; | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
206 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
207 | channel = g_io_channel_unix_new(fd); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
208 | closure->result = g_io_add_watch_full(channel, G_PRIORITY_DEFAULT, cond, |
| 15884 | 209 | purple_gnt_io_invoke, closure, purple_gnt_io_destroy); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
210 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
211 | g_io_channel_unref(channel); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
212 | return closure->result; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
213 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
214 | |
| 15884 | 215 | static PurpleEventLoopUiOps eventloop_ops = |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
216 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
217 | g_timeout_add, |
|
15729
6932ac4e5b3d
Change out source_remove and input_remove eventloop functions to return
Mark Doliner <markdoliner@pidgin.im>
parents:
15701
diff
changeset
|
218 | g_source_remove, |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
219 | gnt_input_add, |
|
19733
ec657d978c5a
disapproval of revision 'f08436883bb16f29affdc63e9fd86ff278ed368f'
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19732
diff
changeset
|
220 | g_source_remove, |
|
16748
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
221 | NULL, /* input_get_error */ |
|
18075
1e4bb0043a98
It's GLIB_CHECK_VERSION, not GLIB_VERSION_CHECK.
Richard Laager <rlaager@pidgin.im>
parents:
18071
diff
changeset
|
222 | #if GLIB_CHECK_VERSION(2,14,0) |
|
18071
9b5d872583c9
Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents:
18068
diff
changeset
|
223 | g_timeout_add_seconds, |
|
9b5d872583c9
Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents:
18068
diff
changeset
|
224 | #else |
|
9b5d872583c9
Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents:
18068
diff
changeset
|
225 | NULL, |
|
9b5d872583c9
Wire in g_timeout_add_seconds for Finch and nullclient as well.
Richard Laager <rlaager@pidgin.im>
parents:
18068
diff
changeset
|
226 | #endif |
|
16748
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
227 | |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
228 | /* padding */ |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
229 | NULL, |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
230 | NULL, |
|
f8e1573bfde0
And finch is up to date
Gary Kramlich <grim@reaperworld.com>
parents:
16629
diff
changeset
|
231 | NULL |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
232 | }; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
233 | |
| 15884 | 234 | static PurpleEventLoopUiOps * |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
235 | gnt_eventloop_get_ui_ops(void) |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
236 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
237 | return &eventloop_ops; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
238 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
239 | |
| 15884 | 240 | /* This is mostly copied from gtkpurple's source tree */ |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
241 | static void |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
242 | show_usage(const char *name, gboolean terse) |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
243 | { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
244 | char *text; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
245 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
246 | if (terse) { |
|
20288
5ca925a094e2
applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20100
diff
changeset
|
247 | text = g_strdup_printf(_("%s. Try `%s -h' for more information.\n"), DISPLAY_VERSION, name); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
248 | } else { |
|
14078
6b4a8f05cadd
[gaim-migrate @ 16609]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14069
diff
changeset
|
249 | text = g_strdup_printf(_("%s\n" |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
250 | "Usage: %s [OPTION]...\n\n" |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
251 | " -c, --config=DIR use DIR for config files\n" |
|
25569
9cec90116395
Debug log is sent to stderr. Thanks to whoever noticed it in IRC the other day.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
25322
diff
changeset
|
252 | " -d, --debug print debugging messages to stderr\n" |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
253 | " -h, --help display this help and exit\n" |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
254 | " -n, --nologin don't automatically login\n" |
|
20288
5ca925a094e2
applied changes from 03b709ec2a153e7e82719df0ba4635108bb1d3c6
John Bailey <rekkanoryo@rekkanoryo.org>
parents:
20100
diff
changeset
|
255 | " -v, --version display the current version and exit\n"), DISPLAY_VERSION, name); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
256 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
257 | |
| 15884 | 258 | purple_print_utf8_to_console(stdout, text); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
259 | g_free(text); |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
260 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
261 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
262 | static int |
| 15884 | 263 | init_libpurple(int argc, char **argv) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
264 | { |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
265 | char *path; |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
266 | int opt; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
267 | gboolean opt_help = FALSE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
268 | gboolean opt_nologin = FALSE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
269 | gboolean opt_version = FALSE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
270 | char *opt_config_dir_arg = NULL; |
| 13990 | 271 | gboolean debug_enabled = FALSE; |
|
30477
d05e44644f80
Create the ~/.purple/plugins directory on startup if it does not exist
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
29712
diff
changeset
|
272 | struct stat st; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
273 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
274 | struct option long_options[] = { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
275 | {"config", required_argument, NULL, 'c'}, |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
276 | {"debug", no_argument, NULL, 'd'}, |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
277 | {"help", no_argument, NULL, 'h'}, |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
278 | {"nologin", no_argument, NULL, 'n'}, |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
279 | {"version", no_argument, NULL, 'v'}, |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
280 | {0, 0, 0, 0} |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
281 | }; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
282 | |
|
15098
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
283 | #ifdef ENABLE_NLS |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
284 | bindtextdomain(PACKAGE, LOCALEDIR); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
285 | bind_textdomain_codeset(PACKAGE, "UTF-8"); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
286 | textdomain(PACKAGE); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
287 | #endif |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
288 | |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
289 | #ifdef HAVE_SETLOCALE |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
290 | setlocale(LC_ALL, ""); |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
291 | #endif |
|
e4f3eb20c4e3
[gaim-migrate @ 17819]
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
15097
diff
changeset
|
292 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
293 | /* scan command-line options */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
294 | opterr = 1; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
295 | while ((opt = getopt_long(argc, argv, |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
296 | #ifndef _WIN32 |
|
25322
df8728f34e85
Remove unused option, thanks to KuSh. Closes #7856.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
23546
diff
changeset
|
297 | "c:dhn::v", |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
298 | #else |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
299 | "c:dhn::v", |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
300 | #endif |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
301 | long_options, NULL)) != -1) { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
302 | switch (opt) { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
303 | case 'c': /* config dir */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
304 | g_free(opt_config_dir_arg); |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
305 | opt_config_dir_arg = g_strdup(optarg); |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
306 | break; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
307 | case 'd': /* debug */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
308 | debug_enabled = TRUE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
309 | break; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
310 | case 'h': /* help */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
311 | opt_help = TRUE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
312 | break; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
313 | case 'n': /* no autologin */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
314 | opt_nologin = TRUE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
315 | break; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
316 | case 'v': /* version */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
317 | opt_version = TRUE; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
318 | break; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
319 | case '?': /* show terse help */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
320 | default: |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
321 | show_usage(argv[0], TRUE); |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
322 | return 0; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
323 | break; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
324 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
325 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
326 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
327 | /* show help message */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
328 | if (opt_help) { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
329 | show_usage(argv[0], FALSE); |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
330 | return 0; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
331 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
332 | /* show version message */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
333 | if (opt_version) { |
|
17001
09ceabd6b129
Clarify the comments on the names for translators.
Richard Laager <rlaager@pidgin.im>
parents:
16987
diff
changeset
|
334 | /* Translators may want to transliterate the name. |
|
09ceabd6b129
Clarify the comments on the names for translators.
Richard Laager <rlaager@pidgin.im>
parents:
16987
diff
changeset
|
335 | It is not to be translated. */ |
|
27945
93ece0c6a9ad
Add the MTN revision in the Pidgin About and finch --version dialogs.
Elliott Sales de Andrade <qulogic@pidgin.im>
parents:
27829
diff
changeset
|
336 | printf("%s %s (%s)\n", _("Finch"), DISPLAY_VERSION, REVISION); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
337 | return 0; |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
338 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
339 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
340 | /* set a user-specified config directory */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
341 | if (opt_config_dir_arg != NULL) { |
|
32785
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
342 | if (g_path_is_absolute(opt_config_dir_arg)) { |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
343 | purple_util_set_user_dir(opt_config_dir_arg); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
344 | } else { |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
345 | /* Make an absolute (if not canonical) path */ |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
346 | char *cwd = g_get_current_dir(); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
347 | char *path = g_build_path(G_DIR_SEPARATOR_S, cwd, opt_config_dir_arg, NULL); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
348 | purple_util_set_user_dir(path); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
349 | g_free(path); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
350 | g_free(cwd); |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
351 | } |
|
5e08d5a41442
pidgin/finch: Make relative paths absolute with -c
Paul Aurich <darkrain42@pidgin.im>
parents:
31992
diff
changeset
|
352 | |
| 14786 | 353 | g_free(opt_config_dir_arg); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
354 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
355 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
356 | /* |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
357 | * We're done piddling around with command line arguments. |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
358 | * Fire up this baby. |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
359 | */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
360 | |
|
16445
634622ab1c7b
Call the migrate code from Finch.
Richard Laager <rlaager@pidgin.im>
parents:
16158
diff
changeset
|
361 | /* We don't want debug-messages to show up and corrupt the display */ |
| 15884 | 362 | purple_debug_set_enabled(debug_enabled); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
363 | |
| 15884 | 364 | purple_core_set_ui_ops(gnt_core_get_ui_ops()); |
| 365 | purple_eventloop_set_ui_ops(gnt_eventloop_get_ui_ops()); | |
| 366 | purple_idle_set_ui_ops(finch_idle_get_ui_ops()); | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
367 | |
| 15884 | 368 | path = g_build_filename(purple_user_dir(), "plugins", NULL); |
|
30477
d05e44644f80
Create the ~/.purple/plugins directory on startup if it does not exist
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
29712
diff
changeset
|
369 | if (!g_stat(path, &st)) |
|
d05e44644f80
Create the ~/.purple/plugins directory on startup if it does not exist
Stu Tomlinson <nosnilmot@pidgin.im>
parents:
29712
diff
changeset
|
370 | g_mkdir(path, S_IRUSR | S_IWUSR | S_IXUSR); |
| 15884 | 371 | purple_plugins_add_search_path(path); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
372 | g_free(path); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
373 | |
| 15884 | 374 | purple_plugins_add_search_path(LIBDIR); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
375 | |
| 15884 | 376 | if (!purple_core_init(FINCH_UI)) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
377 | { |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
378 | fprintf(stderr, |
| 15884 | 379 | "Initialization of the Purple core failed. Dumping core.\n" |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
380 | "Please report this!\n"); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
381 | abort(); |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
382 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
383 | |
| 15884 | 384 | /* TODO: Move blist loading into purple_blist_init() */ |
| 385 | purple_set_blist(purple_blist_new()); | |
| 386 | purple_blist_load(); | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
387 | |
|
19681
8399d8f69f1b
Make a note about purple_prefs_load no longer needing to be called by the UI and update finch accordingly. There doesn't appear to be any negative effects of having the purple_prefs_load called twice.
Daniel Atallah <datallah@pidgin.im>
parents:
19239
diff
changeset
|
388 | /* TODO: should this be moved into finch_prefs_init() ? */ |
|
16629
781a662d1fc3
Pref migration for finch.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
16593
diff
changeset
|
389 | finch_prefs_update_old(); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
390 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
391 | /* load plugins we had when we quit */ |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16158
diff
changeset
|
392 | purple_plugins_load_saved("/finch/plugins/loaded"); |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
393 | |
| 15884 | 394 | /* TODO: Move pounces loading into purple_pounces_init() */ |
| 395 | purple_pounces_load(); | |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
396 | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
397 | if (opt_nologin) |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
398 | { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
399 | /* Set all accounts to "offline" */ |
| 15884 | 400 | PurpleSavedStatus *saved_status; |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
401 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
402 | /* If we've used this type+message before, lookup the transient status */ |
| 15884 | 403 | saved_status = purple_savedstatus_find_transient_by_type_and_message( |
| 404 | PURPLE_STATUS_OFFLINE, NULL); | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
405 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
406 | /* If this type+message is unique then create a new transient saved status */ |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
407 | if (saved_status == NULL) |
| 15884 | 408 | saved_status = purple_savedstatus_new(NULL, PURPLE_STATUS_OFFLINE); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
409 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
410 | /* Set the status for each account */ |
| 15884 | 411 | purple_savedstatus_activate(saved_status); |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
412 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
413 | else |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
414 | { |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
415 | /* Everything is good to go--sign on already */ |
|
16478
19107605c565
Works for me! Renames prefs: /core to /purple, /gaim/gtk to /pidgin, /gaim/gnt to /finch
Sean Egan <seanegan@pidgin.im>
parents:
16158
diff
changeset
|
416 | if (!purple_prefs_get_bool("/purple/savedstatus/startup_current_status")) |
| 15884 | 417 | purple_savedstatus_activate(purple_savedstatus_get_startup()); |
| 418 | purple_accounts_restore_current_statuses(); | |
|
13973
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
419 | } |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
420 | |
|
99603d7e2662
[gaim-migrate @ 16410]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13969
diff
changeset
|
421 | return 1; |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
422 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
423 | |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
424 | static gboolean gnt_start(int *argc, char ***argv) |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
425 | { |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
426 | /* Initialize the libpurple stuff */ |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
427 | if (!init_libpurple(*argc, *argv)) |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
428 | return FALSE; |
|
31294
73607ab89c6f
Remove trailing whitespace
Richard Laager <rlaager@pidgin.im>
parents:
30477
diff
changeset
|
429 | |
|
19239
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
430 | purple_blist_show(); |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
431 | return TRUE; |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
432 | } |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
433 | |
|
a6866f1419c4
Fix a memory leak from not freeing the ui-info hashtable on exit.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19124
diff
changeset
|
434 | int main(int argc, char *argv[]) |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
435 | { |
|
14808
031f023b5fc0
[gaim-migrate @ 17503]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14786
diff
changeset
|
436 | signal(SIGPIPE, SIG_IGN); |
|
031f023b5fc0
[gaim-migrate @ 17503]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14786
diff
changeset
|
437 | |
|
19973
5fb72bc240cd
Duplicate the fix from 33d699ec: do g_thread_init before using any other
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
438 | g_thread_init(NULL); |
|
5fb72bc240cd
Duplicate the fix from 33d699ec: do g_thread_init before using any other
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
19859
diff
changeset
|
439 | |
|
18415
e1aef27f8f86
Let's use g_set_prgname too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18379
diff
changeset
|
440 | g_set_prgname("Finch"); |
|
18379
7a6e9626ea14
Use g_set_application_name here too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
441 | g_set_application_name(_("Finch")); |
|
7a6e9626ea14
Use g_set_application_name here too.
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
18273
diff
changeset
|
442 | |
|
20100
7675d4832abf
applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents:
19973
diff
changeset
|
443 | if (gnt_start(&argc, &argv)) { |
|
7675d4832abf
applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents:
19973
diff
changeset
|
444 | gnt_main(); |
|
14909
d72792eb7575
[gaim-migrate @ 17616]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
14808
diff
changeset
|
445 | |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13990
diff
changeset
|
446 | #ifdef STANDALONE |
|
20100
7675d4832abf
applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents:
19973
diff
changeset
|
447 | purple_core_quit(); |
|
14028
eefce1b0c4e3
[gaim-migrate @ 16522]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
13990
diff
changeset
|
448 | #endif |
|
20100
7675d4832abf
applied changes from 1cb036aecbbe359226e69874379d39ce74c8daf6
Richard Laager <rlaager@pidgin.im>
parents:
19973
diff
changeset
|
449 | } |
|
13852
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
450 | |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
451 | return 0; |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
452 | } |
|
1d3ae9f34d42
[gaim-migrate @ 16308]
Sadrul Habib Chowdhury <sadrul@pidgin.im>
parents:
diff
changeset
|
453 |