Principes de base
Les scripts peuvent enregistrer des callbacks pour effectuer des actions sur divers événements de darktable. Ce mécanisme de callback est la principale méthode de déclenchement des actions lua.
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.
Les scripts lua peuvent être désactivés dans Préférences/Options Lua.
🔗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 des scripts :
-
fichiers
luarcexé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 (intégré). Il sert uniquement à des fins internes et ne doit pas être modifié. $DARKTABLE est le répertoire d’installation du programme. -
[configuration-directory]/luarc: s’il est présent – c’est une méthode pour appeler 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 :
- Laisser le module scripts 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.
- Placer votre script par exemple dans
- Utiliser
luarc(qui s’exécute automatiquement au démarrage)- Soit écrire le code directement dans
[configuration-directory]/luarc. Cela fonctionne, mais n’est pas pratique pour plus de quelques lignes. - Soit enregistrer 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).
- Soit écrire le code directement dans
🔗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é.