1 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-export-druid-konqueror.c galeon-1.3.17/bookmarks/bookmarks-export-druid-konqueror.c
2 --- aa/galeon-1.3.17/bookmarks/bookmarks-export-druid-konqueror.c 2004-06-20 00:33:52.000000000 +0200
3 +++ galeon-1.3.17/bookmarks/bookmarks-export-druid-konqueror.c 2004-08-10 15:04:43.549410600 +0200
8 - dir = g_build_filename (g_get_home_dir (), ".kde", NULL);
9 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".kde", NULL);
10 l = gul_find_file (dir, "bookmarks.xbel", 5);
11 ret = g_slist_concat (ret, l);
12 l = gul_find_file (dir, "bookmarks.xml", 5);
13 ret = g_slist_concat (ret, l);
16 - dir = g_build_filename (g_get_home_dir (), ".kde2", NULL);
17 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".kde2", NULL);
18 l = gul_find_file (dir, "bookmarks.xbel", 5);
19 ret = g_slist_concat (ret, l);
20 l = gul_find_file (dir, "bookmarks.xml", 5);
21 ret = g_slist_concat (ret, l);
24 - dir = g_build_filename (g_get_home_dir (), ".kde3", NULL);
25 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".kde3", NULL);
26 l = gul_find_file (dir, "bookmarks.xbel", 5);
27 ret = g_slist_concat (ret, l);
28 l = gul_find_file (dir, "bookmarks.xml", 5);
29 ret = g_slist_concat (ret, l);
32 - dir = g_build_filename (g_get_home_dir (), ".konqueror", NULL);
33 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".konqueror", NULL);
34 l = gul_find_file (dir, "bookmarks.xbel", 5);
35 ret = g_slist_concat (ret, l);
36 l = gul_find_file (dir, "bookmarks.xml", 5);
41 - (ret, g_build_filename (g_get_home_dir (),
42 + (ret, g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (),
43 ".kde/share/apps/konqueror/bookmarks.xml", NULL));
46 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-export-druid-mozilla.c galeon-1.3.17/bookmarks/bookmarks-export-druid-mozilla.c
47 --- aa/galeon-1.3.17/bookmarks/bookmarks-export-druid-mozilla.c 2004-06-20 00:33:52.000000000 +0200
48 +++ galeon-1.3.17/bookmarks/bookmarks-export-druid-mozilla.c 2004-08-10 15:03:54.309896144 +0200
50 gb_export_druid_mozilla_get_locations_impl (GbExportDruid *druid)
53 - gchar *dir = g_build_filename (g_get_home_dir (), ".mozilla", NULL);
54 + gchar *dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".mozilla", NULL);
55 l = gul_find_file (dir, "bookmarks.html", 4);
58 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-export-druid-netscape.c galeon-1.3.17/bookmarks/bookmarks-export-druid-netscape.c
59 --- aa/galeon-1.3.17/bookmarks/bookmarks-export-druid-netscape.c 2004-06-20 00:33:52.000000000 +0200
60 +++ galeon-1.3.17/bookmarks/bookmarks-export-druid-netscape.c 2004-08-10 15:04:10.676408056 +0200
62 gb_export_druid_netscape_get_locations_impl (GbExportDruid *druid)
65 - gchar *dir = g_build_filename (g_get_home_dir (), ".netscape", NULL);
66 + gchar *dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".netscape", NULL);
67 l = gul_find_file (dir, "bookmarks.html", 4);
70 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-epiphany.c galeon-1.3.17/bookmarks/bookmarks-import-druid-epiphany.c
71 --- aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-epiphany.c 2004-06-20 00:33:52.000000000 +0200
72 +++ galeon-1.3.17/bookmarks/bookmarks-import-druid-epiphany.c 2004-08-10 15:03:37.885393048 +0200
77 - dir = g_build_filename (g_get_home_dir (),
78 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
82 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-konqueror.c galeon-1.3.17/bookmarks/bookmarks-import-druid-konqueror.c
83 --- aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-konqueror.c 2004-06-20 00:33:52.000000000 +0200
84 +++ galeon-1.3.17/bookmarks/bookmarks-import-druid-konqueror.c 2004-08-10 15:04:20.988840328 +0200
86 for (i = 0; i < G_N_ELEMENTS (galeon_dirs); ++i)
89 - dir = g_build_filename (g_get_home_dir (), galeon_dirs[i], NULL);
90 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), galeon_dirs[i], NULL);
91 l = gul_find_file (dir, "bookmarks.xbel", 5);
92 ret = g_slist_concat (ret, l);
93 for (j = 0; j < 10; ++j)
95 /* konqueror locations */
96 for (i = 0; i < G_N_ELEMENTS (kde_dirs); ++i)
98 - dir = g_build_filename (g_get_home_dir (), kde_dirs[i], NULL);
99 + dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), kde_dirs[i], NULL);
100 l = gul_find_file (dir, "bookmarks.xbel", 5);
101 ret = g_slist_concat (ret, l);
102 l = gul_find_file (dir, "bookmarks.xml", 5);
103 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-mozilla.c galeon-1.3.17/bookmarks/bookmarks-import-druid-mozilla.c
104 --- aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-mozilla.c 2004-06-20 00:33:52.000000000 +0200
105 +++ galeon-1.3.17/bookmarks/bookmarks-import-druid-mozilla.c 2004-08-10 15:03:48.495780024 +0200
107 gb_import_druid_mozilla_get_locations_impl (GbImportDruid *druid)
110 - gchar *dir = g_build_filename (g_get_home_dir (), ".mozilla", NULL);
111 + gchar *dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".mozilla", NULL);
112 l = gul_find_file (dir, "bookmarks.html", 4);
115 diff -urN aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-netscape.c galeon-1.3.17/bookmarks/bookmarks-import-druid-netscape.c
116 --- aa/galeon-1.3.17/bookmarks/bookmarks-import-druid-netscape.c 2004-06-20 00:33:52.000000000 +0200
117 +++ galeon-1.3.17/bookmarks/bookmarks-import-druid-netscape.c 2004-08-10 15:03:59.476110760 +0200
119 gb_import_druid_netscape_get_locations_impl (GbImportDruid *druid)
122 - gchar *dir = g_build_filename (g_get_home_dir (), ".netscape", NULL);
123 + gchar *dir = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") :g_get_home_dir (), ".netscape", NULL);
124 l = gul_find_file (dir, "bookmarks.html", 4);
127 diff -urN aa/galeon-1.3.17/bookmarks/testbookmarks.c galeon-1.3.17/bookmarks/testbookmarks.c
128 --- aa/galeon-1.3.17/bookmarks/testbookmarks.c 2004-07-29 14:16:56.000000000 +0200
129 +++ galeon-1.3.17/bookmarks/testbookmarks.c 2004-08-10 15:05:02.238569416 +0200
131 main (int argc, char *argv[])
133 gchar *filename = argc == 2 ? argv[1]
134 - : g_strconcat (g_get_home_dir (),
135 + : g_strconcat (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
136 "/.galeon/bookmarks.xbel", NULL);
138 GbFolder *folder1, *folder2, *r;
139 diff -urN aa/galeon-1.3.17/embed/galeon-embed-popup.c galeon-1.3.17/embed/galeon-embed-popup.c
140 --- aa/galeon-1.3.17/embed/galeon-embed-popup.c 2004-07-14 20:48:33.000000000 +0200
141 +++ galeon-1.3.17/embed/galeon-embed-popup.c 2004-08-10 15:05:18.307126624 +0200
143 persist = galeon_embed_persist_new (popup->priv->embed);
145 base = g_path_get_basename (location);
146 - dest = g_build_filename (g_get_home_dir (),
147 + dest = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
151 diff -urN aa/galeon-1.3.17/embed/galeon-embed-utils.c galeon-1.3.17/embed/galeon-embed-utils.c
152 --- aa/galeon-1.3.17/embed/galeon-embed-utils.c 2004-07-18 21:16:04.000000000 +0200
153 +++ galeon-1.3.17/embed/galeon-embed-utils.c 2004-08-10 15:05:30.706241672 +0200
155 GList *retList = NULL;
157 const gchar *file = NULL;
158 - gchar *path = g_build_filename(g_get_home_dir(),
159 + gchar *path = g_build_filename(getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir(),
160 GALEON_DIR, "stylesheets",
162 GDir *dir = g_dir_open(path, 0, NULL);
164 gchar *utf8_path = NULL;
165 gchar *filename = g_filename_from_utf8(sheetfile, -1,
167 - gchar *path = g_build_filename("/", g_get_home_dir(),
168 + gchar *path = g_build_filename("/", getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir(),
169 GALEON_DIR, "stylesheets",
172 diff -urN aa/galeon-1.3.17/embed/global-history.c galeon-1.3.17/embed/global-history.c
173 --- aa/galeon-1.3.17/embed/global-history.c 2004-06-22 07:00:57.000000000 +0200
174 +++ galeon-1.3.17/embed/global-history.c 2004-08-10 15:05:12.756970376 +0200
179 - histfile = g_build_filename (g_get_home_dir (), GALEON_DIR,
180 + histfile = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (), GALEON_DIR,
181 "history2.xml", NULL);
182 if (access (histfile, F_OK) == 0)
188 - histfile = g_build_filename (g_get_home_dir (), GALEON_DIR,
189 + histfile = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (), GALEON_DIR,
190 "history.xml", NULL);
191 if (access (histfile, F_OK) == 0)
197 - histfile = g_build_filename (g_get_home_dir (),
198 + histfile = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
202 diff -urN aa/galeon-1.3.17/galeon-config-tool.in galeon-1.3.17/galeon-config-tool.in
203 --- aa/galeon-1.3.17/galeon-config-tool.in 2002-03-14 08:40:24.000000000 +0100
204 +++ galeon-1.3.17/galeon-config-tool.in 2004-08-10 15:09:14.144273928 +0200
206 echo "Removing $HOME/.gnome/accels/galeon"
207 rm -rf $HOME/.gnome/accels/galeon
209 + if [ -n "$HOME_ETC" ]; then
210 + echo "Removing $HOME_ETC/.galeon"
211 + rm -rf $HOME_ETC/.galeon
213 + echo "Removing $HOME_ETC/.gconf/apps/galeon"
214 + rm -rf $HOME_ETC/.gconf/apps/galeon
216 + echo "Removing $HOME_ETC/.gnome/galeon"
217 + rm -rf $HOME_ETC/.gnome/galeon
219 + echo "Removing $HOME_ETC/.gnome/accels/galeon"
220 + rm -rf $HOME_ETC/.gnome/accels/galeon
227 diff -urN aa/galeon-1.3.17/libegg/egg-recent-model.c galeon-1.3.17/libegg/egg-recent-model.c
228 --- aa/galeon-1.3.17/libegg/egg-recent-model.c 2004-08-07 10:05:12.000000000 +0200
229 +++ galeon-1.3.17/libegg/egg-recent-model.c 2004-08-10 15:05:37.258245616 +0200
230 @@ -1155,7 +1155,7 @@
231 model->priv = g_new0 (EggRecentModelPrivate, 1);
233 model->priv->path = g_strdup_printf ("%s" EGG_RECENT_MODEL_FILE_PATH,
234 - g_get_home_dir ());
235 + getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir ());
237 model->priv->mime_filter_values = NULL;
238 model->priv->group_filter_values = NULL;
239 diff -urN aa/galeon-1.3.17/mozilla/mozilla-embed-shell.cpp galeon-1.3.17/mozilla/mozilla-embed-shell.cpp
240 --- aa/galeon-1.3.17/mozilla/mozilla-embed-shell.cpp 2004-07-27 22:27:37.000000000 +0200
241 +++ galeon-1.3.17/mozilla/mozilla-embed-shell.cpp 2004-08-10 15:05:41.881542768 +0200
245 #include <glib/gi18n.h>
249 #include <nsIConsoleService.h>
251 mozilla_init_profile (void)
254 - profile_path = g_build_filename (g_get_home_dir (),
255 + profile_path = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
258 gtk_moz_embed_set_profile_path (profile_path, MOZILLA_PROFILE_NAME);
259 diff -urN aa/galeon-1.3.17/mozilla/ProgressListener.cpp galeon-1.3.17/mozilla/ProgressListener.cpp
260 --- aa/galeon-1.3.17/mozilla/ProgressListener.cpp 2004-08-01 23:43:02.000000000 +0200
261 +++ galeon-1.3.17/mozilla/ProgressListener.cpp 2004-08-10 15:05:55.201517824 +0200
263 !g_file_test (dirName, G_FILE_TEST_IS_DIR))
266 - dirName = g_strdup (g_get_home_dir ());
267 + dirName = g_strdup (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir ());
271 diff -urN aa/galeon-1.3.17/src/galeon-favicon-cache.c galeon-1.3.17/src/galeon-favicon-cache.c
272 --- aa/galeon-1.3.17/src/galeon-favicon-cache.c 2004-06-06 14:42:30.000000000 +0200
273 +++ galeon-1.3.17/src/galeon-favicon-cache.c 2004-08-10 15:06:24.383081552 +0200
274 @@ -134,11 +134,11 @@
275 (GDestroyNotify) g_free,
276 (GDestroyNotify) g_object_unref);
278 - cache->priv->filename = g_build_filename (g_get_home_dir (),
279 + cache->priv->filename = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
283 - cache->priv->directory = g_build_filename (g_get_home_dir (),
284 + cache->priv->directory = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
288 diff -urN aa/galeon-1.3.17/src/galeon-shell.c galeon-1.3.17/src/galeon-shell.c
289 --- aa/galeon-1.3.17/src/galeon-shell.c 2004-07-29 21:33:16.000000000 +0200
290 +++ galeon-1.3.17/src/galeon-shell.c 2004-08-10 15:06:12.927823016 +0200
293 if (gs->priv->toolbars_model)
295 - gchar *tb_file = g_build_filename (g_get_home_dir (), GALEON_DIR, "toolbars.xml", NULL);
296 + gchar *tb_file = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (), GALEON_DIR, "toolbars.xml", NULL);
297 egg_toolbars_model_save (gs->priv->toolbars_model, tb_file, "0");
299 g_object_unref (gs->priv->toolbars_model);
302 /* this is temp code, I need to think about how to properly initialize bookmarks */
303 GbXBEL *io = gb_xbel_new ();
304 - gchar *filename = g_strconcat (g_get_home_dir (), "/",
305 + gchar *filename = g_strconcat (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (), "/",
306 GALEON_DIR "/bookmarks.xbel", NULL);
308 /* init the bookmark icon provider */
309 diff -urN galeon-1.3.19/src/galeon-sidebars.c.orig galeon-1.3.19/src/galeon-sidebars.c
310 --- galeon-1.3.19/src/galeon-sidebars.c.orig 2005-02-26 15:08:49.201988840 +0100
311 +++ galeon-1.3.19/src/galeon-sidebars.c 2005-02-26 15:09:15.635970264 +0100
316 - sidebars->priv->filename = g_build_filename(g_get_home_dir(),
317 + sidebars->priv->filename = g_build_filename(getenv("HOME_ETC")!=NULL? getenv("HOME_ETC"): g_get_home_dir(),
318 GALEON_DIR"/sidebars.xml",
320 galeon_sidebars_load (sidebars);
321 diff -urN aa/galeon-1.3.17/src/migrate.c galeon-1.3.17/src/migrate.c
322 --- aa/galeon-1.3.17/src/migrate.c 2004-07-04 11:41:53.000000000 +0200
323 +++ galeon-1.3.17/src/migrate.c 2004-08-10 15:06:50.993036224 +0200
328 - gchar *tb_file = g_build_filename (g_get_home_dir (),
329 + gchar *tb_file = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
330 GALEON_DIR, "toolbars.xml", NULL);
333 diff -urN aa/galeon-1.3.17/src/popup-commands.c galeon-1.3.17/src/popup-commands.c
334 --- aa/galeon-1.3.17/src/popup-commands.c 2004-08-07 19:09:26.000000000 +0200
335 +++ galeon-1.3.17/src/popup-commands.c 2004-08-10 15:06:29.432313952 +0200
337 persist = galeon_embed_persist_new (embed);
339 base = g_path_get_basename (location);
340 - dest = g_build_filename (g_get_home_dir (),
341 + dest = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
345 diff -urN aa/galeon-1.3.17/src/session.c galeon-1.3.17/src/session.c
346 --- aa/galeon-1.3.17/src/session.c 2004-06-06 14:42:30.000000000 +0200
347 +++ galeon-1.3.17/src/session.c 2004-08-10 15:06:44.638002336 +0200
348 @@ -171,14 +171,14 @@
350 if (strcmp (filename, SESSION_SAVED) == 0)
352 - save_to = g_build_filename (g_get_home_dir (),
353 + save_to = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
358 else if (strcmp (filename, SESSION_CRASHED) == 0)
360 - save_to = g_build_filename (g_get_home_dir (),
361 + save_to = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
363 "session_crashed.xml",
369 - save_to = g_build_filename (g_get_home_dir (),
370 + save_to = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (),
372 "session_gnome-XXXXXX",
374 diff -urN aa/galeon-1.3.17/utils/gul-download.c galeon-1.3.17/utils/gul-download.c
375 --- aa/galeon-1.3.17/utils/gul-download.c 2004-03-30 23:33:06.000000000 +0200
376 +++ galeon-1.3.17/utils/gul-download.c 2004-08-10 15:07:00.277624752 +0200
378 prefDir = eel_gconf_get_string(CONF_DOWNLOADING_DIR);
381 - prefDir = g_strdup (g_get_home_dir());
382 + prefDir = g_strdup (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir());
384 utf8DirName = g_strconcat(prefDir, "/", NULL);
390 - utf8ExpDir = g_strdup(g_get_home_dir());
391 + utf8ExpDir = g_strdup(getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir());
394 /* Dirname must be locale encoded as explained above */
395 diff -urN aa/galeon-1.3.17/utils/gul-file-chooser.c galeon-1.3.17/utils/gul-file-chooser.c
396 --- aa/galeon-1.3.17/utils/gul-file-chooser.c 2004-07-18 21:23:36.000000000 +0200
397 +++ galeon-1.3.17/utils/gul-file-chooser.c 2004-08-10 15:07:17.510005032 +0200
398 @@ -311,18 +311,18 @@
401 if (download_dir != NULL &&
402 - !str_is_equal (download_dir, g_get_home_dir ()))
403 + !str_is_equal (download_dir, getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir ()))
405 gtk_file_chooser_add_shortcut_folder (chooser, download_dir, NULL);
407 if (upload_dir != NULL &&
408 - !str_is_equal (upload_dir, g_get_home_dir ()) &&
409 + !str_is_equal (upload_dir, getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir ()) &&
410 !str_is_equal (upload_dir, download_dir))
412 gtk_file_chooser_add_shortcut_folder (chooser, upload_dir, NULL);
414 if (open_dir != NULL &&
415 - !str_is_equal (open_dir, g_get_home_dir ()) &&
416 + !str_is_equal (open_dir, getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir ()) &&
417 !str_is_equal (open_dir, download_dir) &&
418 !str_is_equal (open_dir, upload_dir))
420 diff -urN aa/galeon-1.3.17/utils/gul-general.c galeon-1.3.17/utils/gul-general.c
421 --- aa/galeon-1.3.17/utils/gul-general.c 2004-03-30 23:33:06.000000000 +0200
422 +++ galeon-1.3.17/utils/gul-general.c 2004-08-10 15:07:06.053746648 +0200
426 /* try the default */
427 - file = g_build_filename (g_get_home_dir (), GALEON_DIR, fname, NULL);
428 + file = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (), GALEON_DIR, fname, NULL);
431 if (g_file_test (file, G_FILE_TEST_EXISTS))
432 diff -urN aa/galeon-1.3.17/utils/gul-state.c galeon-1.3.17/utils/gul-state.c
433 --- aa/galeon-1.3.17/utils/gul-state.c 2004-03-29 23:55:56.000000000 +0200
434 +++ galeon-1.3.17/utils/gul-state.c 2004-08-10 15:07:22.590232720 +0200
438 /* Using ~/.galeon/state.ini to keep all files together. */
439 - filename = g_build_filename (g_get_home_dir(),
440 + filename = g_build_filename (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir(),
441 ".galeon", "state.ini", NULL);
444 diff -urN aa/galeon-1.3.17/utils/gul-string.c galeon-1.3.17/utils/gul-string.c
445 --- aa/galeon-1.3.17/utils/gul-string.c 2004-03-30 23:33:06.000000000 +0200
446 +++ galeon-1.3.17/utils/gul-string.c 2004-08-10 15:07:29.456188936 +0200
448 if (!str) return NULL;
449 if (str[0] != '~') return g_strdup (str);
451 - return g_strconcat (g_get_home_dir (), str + 1, NULL);
452 + return g_strconcat (getenv("HOME_ETC") ? getenv("HOME_ETC") : g_get_home_dir (), str + 1, NULL);