basic principles
Scripts can register callbacks to perform actions on various darktable events. This callback mechanism is the primary method of triggering lua actions.
L’orchestrateur central des scripts lua est le gestionnaire de scripts, qui génère le module utilitaire scripts dans la table lumineuse et charge les scripts groupés de darktable.
Lua scripts can be disabled in preferences/lua options.
🔗comment darktable charge les scripts (et le gestionnaire de scripts)
darktable traite différemment deux types d’emplacements : les fichiers qui sont exécutés en tant que code Lua et les répertoires qui sont scannés pour les scripts :
-
Exécutés au démarrage :
-
$DARKTABLE/share/darktable/luarc: exécuté par darktable lui-même. C’est le point d’entrée qui lance le gestionnaire de scripts. Il sert uniquement à des fins internes et ne doit pas être modifié. $DARKTABLE est le répertoire d’installation du programme. -
[configuration-directory]/luarc: exécuté par le gestionnaire de scripts, s’il est présent. C’est une façon d’exécuter vos propres scripts (voir ci-dessous).
-
-
Recherche de scripts
.lua(qui apparaissent ensuite dans le module scripts) :-
$DARKTABLE/share/Darktable/lua-scripts/: scripts fournis avec darktable. -
[configuration-directory]/lua/[dossier]: vos propres scripts (voir ci-dessous).
-
Le répertoire de configuration est spécifique à votre système d’exploitation.
Vous pouvez ainsi ajouter vos propres scripts comme suit :
- Utiliser le module scripts pour les récupérer : (recommandé)
- Placer votre script par exemple dans
[configuration-directory]/lua/utilisateur/myscript.lua - L’activer dans le module des scripts en sélectionnant le dossier approprié (dans cet exemple
utilisateur) et en cliquant sur le bouton marche/arrêt à côté du script correspondant. - Remarque : pour que le module des scripts récupère les scripts, ils devront se trouver dans un sous-dossier de
configuration-directory/lua. - Utiliser
luarc(s’exécute automatiquement au démarrage) - Ou écrire le code directement dans
[configuration-directory]/luarc. Cela fonctionne, mais n’est pas pratique pour plus que quelques lignes. - Ou conserver le code dans son propre fichier et utiliser
requiredansluarc: par exemple, un script[configuration-directory]/lua/userscript.luapeut être chargé en ajoutantrequire "userscript"(notez que .lua est omis ici).
🔗une remarque sur les installations de scripts lua des précédentes versions de darktable
Avant la version 5.6, les scripts de darktable devaient être installés manuellement (voir scripts de darktable).
Pour rester compatible avec de tels installations, require recherche un gestionnaire de scripts dans votre répertoire de configuration avant de charger celui fourni : si [configuration-directory]/lua/tools/script_manager.lua est présent (par exemple à partir d’une installation manuelle antérieure à la version 5.6), ce gestionnaire de scripts est exécuté à la place du gestionnaire intégré. Dans ce cas, le fichier luarc dans le répertoire de configuration n’est pas chargé.