Основні принципи

Сценарії можуть реєструвати зворотні виклики для виконання дій при настанні різних подій. Цей механізм зворотного виклику є основним методом активації дій Lua.

Центральним оркестратором для Lua-сценаріїв є менеджер сценаріїв, який запускає сервісний модуль Сценарії у режимі Світлого стола та завантажує сценарії, що входять до комплекту Darktable.

Сценарії Lua можна вимкнути в Налаштування > Опції Lua.

🔗Як Darktable завантажує сценарії (і менеджер сценаріїв)

Darktable по-різному обробляє два типи розташування: файли, які виконуються як код Lua, та каталоги, які скануються на наявність сценаріїв:

  • Виконується під час запуску:

    • $DARKTABLE/share/darktable/luarc: запускається самим Darktable. Це точка входу, яка запускає менеджер сценаріїв. Вона служить лише для внутрішніх цілей і не повинна редагуватися. $DARKTABLE тут — це каталог встановлення програми.

    • [каталог-конфігурації]/luarc: запускається менеджером сценаріїв, якщо присутній. Це один із способів запуску власних сценаріїв (див. нижче).

  • Скануються на наявність сценаріїв .lua (які потім відображаються в модулі сценаріїв):

    • $DARKTABLE/share/darktable/lua-scripts/: сценарії, що входять до комплекту Darktable.

    • [каталог-конфігурації]/lua/[папка]: ваші власні сценарії (див. нижче).

Каталог конфігурації залежить від вашої ОС.

Таким чином, ви можете додати власні сценарії в наступний спосіб:

  • Доручіть модулю сценаріїв їх завантажувати (рекомендовано):
    • Розмістіть ваш сценарій, наприклад, у [каталог-конфігурації]/lua/user/myscript.lua
    • Активуйте його в модулі сценаріїв, вибравши відповідну папку (у цьому прикладі “user”) та натиснувши кнопку ввімкнення/вимкнення поруч із відповідним сценарієм.
    • Примітка: Щоб модуль сценаріїв завантажував сценарії, вони повинні бути в підпапці [каталог-конфігурації]/lua.
  • Використовуйте luarc (автоматично запускається під час запуску)
    • Або напишіть код безпосередньо в [каталог-конфігурації]/luarc. Це працює, але непрактично для чогось, що перевищує кілька рядків.
    • Або збережіть код в окремому файлі та використовуйте require через luarc: Наприклад, сценарій, що міститься в [каталог-конфігурації]/lua/userscript.lua, можна завантажити, додавши require "userscript" (зверніть увагу, що .lua тут пропущено).

🔗Примітка щодо встановлення Lua-сценаріїв з попередніх версій Darktable

До версії 5.6 сценарії потрібно було встановлювати вручну (див. Сценарії Darktable).

Щоб залишатися сумісним з такою інсталяцією, require шукає менеджер сценаріїв у вашому каталозі конфігурації перед завантаженням комплектного: якщо [каталог-конфігурації]/lua/tools/script_manager.lua присутній (наприклад, з ручного встановлення до версії 5.6), цей менеджер сценаріїв запускається замість комплектного. У цьому випадку файл luarc у каталозі конфігурації не завантажується.

translations