aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/uzbl-core.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/uzbl-core.c')
-rw-r--r--src/uzbl-core.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c
index 7be98c3..129bb2a 100644
--- a/src/uzbl-core.c
+++ b/src/uzbl-core.c
@@ -1263,6 +1263,29 @@ sharg_append(GArray *a, const gchar *str) {
g_array_append_val(a, s);
}
+gboolean
+uzbl_setup_environ() {
+ gchar *util_dirs = expand("@scripts_util_dir", 0);
+ gchar *util_dir = NULL;
+ gboolean succeed = FALSE;
+
+ if(!util_dirs) {
+ g_free(util_dirs);
+ return succeed;
+ }
+
+ if(!(util_dir = find_existing_file(util_dirs))) {
+ g_free(util_dirs);
+ return succeed;
+ }
+
+ succeed = g_setenv("UZBL_UTIL_DIR", util_dir, TRUE);
+
+ g_free(util_dirs);
+ g_free(util_dir);
+ return succeed;
+}
+
// make sure that the args string you pass can properly be interpreted (eg properly escaped against whitespace, quotes etc)
gboolean
run_command (const gchar *command, const guint npre, const gchar **args,
@@ -1274,6 +1297,8 @@ run_command (const gchar *command, const guint npre, const gchar **args,
gchar *pid = itos(getpid());
gchar *xwin = itos(uzbl.xwin);
guint i;
+ gboolean environ_set = uzbl_setup_environ();
+
sharg_append(a, command);
for (i = 0; i < npre; i++) /* add n args before the default vars */
sharg_append(a, args[i]);