summary refs log tree commit diff
path: root/pkgs/desktops/mate/caja/caja-extension-dirs.patch
blob: 7490a368efd9d12df43788d61d4acfe95ab9bbc4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
diff --git a/libcaja-private/caja-module.c b/libcaja-private/caja-module.c
index 023c22e..414913b 100644
--- a/libcaja-private/caja-module.c
+++ b/libcaja-private/caja-module.c
@@ -258,11 +258,25 @@ caja_module_setup (void)
 {
     static gboolean initialized = FALSE;
     GList *res;
+    gchar *caja_extension_dirs;
+    gchar **dir_vector;
 
     if (!initialized)
     {
         initialized = TRUE;
 
+        caja_extension_dirs = (gchar *) g_getenv ("CAJA_EXTENSION_DIRS");
+
+        if (caja_extension_dirs)
+        {
+            dir_vector = g_strsplit (caja_extension_dirs, G_SEARCHPATH_SEPARATOR_S, 0);
+
+            for (gchar **dir = dir_vector; *dir != NULL; ++ dir)
+                load_module_dir (*dir);
+
+            g_strfreev(dir_vector);
+        }
+
         load_module_dir (CAJA_EXTENSIONDIR);
 
         eel_debug_call_at_shutdown (free_module_objects);