Index: trunk/src/main.c =================================================================== --- trunk/src/main.c (revision 9929) +++ trunk/src/main.c (revision 9930) @@ -278,6 +278,7 @@ NULL, "-show-actions", "PrintActions()", "Print all available actions (human readable) and exit", NULL, "-dump-actions", "DumpActions()", "Print all available actions (script readable) and exit", NULL, "-dump-plugins", "DumpPlugins()", "Print all available plugins (script readable) and exit", + NULL, "-dump-plugindirs", "DumpPluginDirs()","Print directories plugins might be loaded from and exit", NULL, "-show-paths", "PrintPaths()", "Print all configured paths and exit", NULL, "-dump-config", "dumpconf(native,1)", "Print the config tree and exit", "V", "-version", "PrintVersion()", "Print version info and exit", Index: trunk/src/main_act.c =================================================================== --- trunk/src/main_act.c (revision 9929) +++ trunk/src/main_act.c (revision 9930) @@ -268,6 +268,20 @@ return 0; } + +static const char pcb_acts_DumpPluginDirs[] = "DumpPluginDirs()"; + +static const char pcb_acth_DumpPluginDirs[] = "Print plugins directories in a format digestable by scripts."; + +int pcb_act_DumpPluginDirs(int argc, const char **argv, pcb_coord_t x, pcb_coord_t y) +{ + const char **p; + for(p = pcb_pup_paths; *p != NULL; p++) + printf("%s\n", *p); + + return 0; +} + /* --------------------------------------------------------------------------- */ pcb_hid_action_t main_action_list[] = { @@ -291,6 +305,9 @@ , {"DumpPlugins", 0, pcb_act_DumpPlugins, pcb_acth_DumpPlugins, pcb_acts_DumpPlugins} + , + {"DumpPluginDirs", 0, pcb_act_DumpPluginDirs, + pcb_acth_DumpPluginDirs, pcb_acts_DumpPluginDirs} }; PCB_REGISTER_ACTIONS(main_action_list, NULL)