From edd32134e42cc5845c7bd40bc24b7bf5696518c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= Date: Tue, 11 Feb 2020 17:49:13 -0300 Subject: Look for caja extensions at $CAJA_EXTENSION_DIRS CAJA_EXTENSION_DIRS is a list of directories where caja extensions are looked for. It is needed for distributions like NixOS that do not install all extensions in the same directory. In NixOS each package is installed in a self contained directory. --- libcaja-private/caja-module.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/libcaja-private/caja-module.c b/libcaja-private/caja-module.c index d7405d4d..e7796739 100644 --- a/libcaja-private/caja-module.c +++ b/libcaja-private/caja-module.c @@ -261,8 +261,20 @@ caja_module_setup (void) if (!initialized) { + const gchar *caja_extension_dirs = g_getenv ("CAJA_EXTENSION_DIRS"); + initialized = TRUE; + if (caja_extension_dirs) + { + gchar **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); -- cgit v1.2.1