Home on darktable lua documentation https://darktable-org.github.io/luadocs/ Recent content in Home on darktable lua documentation Hugo -- gohugo.io en-us overview https://darktable-org.github.io/luadocs/lua.api.manual/types/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/overview/ This section documents types that are specific to darktable’s Lua API. _pdf_mode_t https://darktable-org.github.io/luadocs/lua.api.manual/types/_pdf_mode_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/_pdf_mode_t/ enum The export mode to use for PDF document Values: normal draft debug api_version https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/api_version/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/api_version/ 🔗Name api_version.lua - show the Lua API version 🔗Description darktable script to show the Lua API version in the preferences 🔗Usage start this script from script manager. darktable must be running in lua debug mode in a terminal to see the output. 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs 🔗Change Log AutoGrouper https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autogrouper/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autogrouper/ 🔗Name AutoGrouper.lua - automatically group images based on time 🔗Description This plugin groups images based on the time they were shot. Images shot close together in time are grouped together. The interval of time to separate groups is configurable. 🔗Usage Start the module using script manager. Set a gap amount, in seconds, which will be used to determine when images should no longer be added to a group. If an image is more then the specified amount of time from the last image in the group it will not be added. check_for_updates https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/check_for_updates/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/check_for_updates/ 🔗Name check_for_updates.lua - automatically check for updates 🔗Description a simple script that will automatically look for newer releases on github and inform when there is something. it will only check on startup and only once a week. 🔗Usage install luasec and cjson for Lua 5.3 on your system. Luarocks is a good source for lua packages. start this script from script manager restart darktable 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus darktable.gui overview https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/overview/ This subtable contains function and data to manipulate the darktable user interface with Lua. Most of these function won’t do anything if the GUI is not enabled (i.e you are using the command line version darktable-cli instead of darktable). darktable.gui.libs overview https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/overview/ This table allows referencing all lib objects. lib objects are the graphical blocks within each view. To quickly figure out which lib is which, you can use the following code, which will make a given lib blink. local dt = require "darktable" local tested_module="global_toolbox" dt.gui.libs[tested_module].visible=false dt.control.sleep(2000) while true do dt.gui.libs[tested_module].visible = not dt.gui.libs[tested_module].visible dt.control.sleep(2000) end darktable.gui.views overview https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/overview/ The different views in darktable details https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/details/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/details/ 🔗NAME dtutils.debug 🔗SYNOPSIS debugging helpers used in developing darktable lua scripts 🔗USAGE require "lib/dtutils.debug" 🔗DESCRIPTION dtutils.debug provides an interface to the darktable debugging routines. 🔗RETURN VALUE dd - library - the darktable lua debugging helpers 🔗FUNCTIONS 🔗dprint pass a variable to darktable.debug.dump and print the results to stdout 🔗new_tracepoint create a function returning a tracepoint 🔗terse_dump set darktable.debug.known to shorten all image dumps to a single line 🔗tracepoint print out a tracepoint and dump the arguments details https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/details/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/details/ 🔗NAME details 🔗SYNOPSIS common darktable lua file functions 🔗USAGE local df = require "lib/dtutils.file" 🔗DESCRIPTION The dtutils.file library provides common file manipulation functions used in constructing darktable lua scripts 🔗RETURN VALUE df - library - the file functions 🔗FUNCTIONS 🔗check_if_bin_exists check if an executable exists 🔗check_if_file_exists check if a file or path exist 🔗chop_filetype remove a filetype from a filename 🔗create_unique_filename create a unique filename from the supplied argment 🔗executable_path_widget create a widget to get executable path preferences details https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/details/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/details/ 🔗NAME dtutils.log 🔗SYNOPSIS darktable lua logging library 🔗USAGE local log = require "lib/dtutils.log" 🔗DESCRIPTION log provides a multi-level logging solution for use with the darktable lua scripts. With this library you can leave log messages scattered through out your code and only turn them on as necessary. 🔗RETURN VALUE log - library - the darktable lua logging functions 🔗FUNCTIONS 🔗caller get the name and line number of the calling routine details https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/details/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/details/ 🔗DTUTILS.STRING 🔗NAME dtutils.string 🔗SYNOPSIS a library of string utilities for use in darktable lua scripts 🔗USAGE local ds = require "lib/dtutils.string" 🔗DESCRIPTION This library contains string manipulation routines to aid in building darktable lua scripts. 🔗RETURN VALUE ds - library - the darktable lua string library 🔗FUNCTIONS 🔗escape_xml_characters escape characters for xml documents 🔗is_not_sanitized check if a string has been sanitized 🔗sanitize surround a string in quotes making it safe to pass as an argument details https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/details/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/details/ 🔗DTUTILS.SYSTEM 🔗NAME dtutils.system 🔗SYNOPSIS a library of system utilities for use in darktable lua scripts 🔗USAGE local dtsys = require "lib/dtutils.system" 🔗DESCRIPTION This library contains routines for interfacing to the operating system from darktable lua scripts. 🔗RETURN VALUE dtsys - library - the darktable lua system library 🔗FUNCTIONS 🔗external_command pass a command to the operating system for execution and return the result 🔗launch_default_app open file in default application 🔗windows_command pass a command to the windows operating system for execution and return the result details https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/details/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/details/ 🔗NAME dtutils 🔗SYNOPSIS A Darktable lua utilities library 🔗USAGE local du = require "lib/dtutils" 🔗DESCRIPTION dtutils provides a common library of functions used to build lua scripts. 🔗RETURN VALUE du- library - the library of functions 🔗FUNCTIONS 🔗check_min_api_version check the minimum required api version against the current api version 🔗check_os check that the operating system is supported 🔗join join a table of strings with a specified separator 🔗prequire a protected lua require executable_manager https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/executable_manager/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/executable_manager/ 🔗Name executable_manager.lua - a tool for managing external executables used by darktable lua scripts 🔗Description executable_manager is a tool for managing the executable preferences stored in the darktablerc file. On startup the darktablerc file is scanned and a widget is built for each executable path. The user can select the executable from a drop down list and then modify the settings as desired. Any changes made using executable_manager won’t be saved in the darktablerc file until darktable exits, but the preference is updated when the change is made so scripts will pick up the changes without restarting darktable. Lua API Version https://darktable-org.github.io/luadocs/lua.api.manual/version/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/version/ 🔗Current API The Lua API version used in darktable 3.8.0 is 8.0.0. overview https://darktable-org.github.io/luadocs/lua.api.manual/darktable/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/overview/ The darktable library is the main entry point for all access to the darktable internals. To access the darktable specific functions you must load the darktable environment: darktable = require "darktable" All functions and data are accessed through the darktable module. overview https://darktable-org.github.io/luadocs/lua.api.manual/events/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/overview/ This section documents events that can be used to trigger Lua callbacks. overview https://darktable-org.github.io/luadocs/lua.scripts.manual/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/overview/ darktable can be customized and extended using the Lua programming language. The lua-scripts repository contains the collected efforts of the darktable developers, maintainers, contributors and community. overview https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/overview/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/overview/ darktable can be customized and extended using the Lua programming language. The lua-scripts repository contains the collected efforts of the darktable developers, maintainers, contributors and community. The following sections list the scripts contained in the repository, whether they can be run by themselves (Standalone - Yes) or depend on other scripts (Standalone - No), what operating systems they are known to work on (L - Linux, M - MacOS, W - Windows), and their purpose. darkroom-image-history-changed https://darktable-org.github.io/luadocs/lua.api.manual/events/darkroom-image-history-changed/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/darkroom-image-history-changed/ event This event is triggered from darkroom view whenever an image’s history has changed and another image is being loaded or darkroom view is being changed to another view. 🔗darkroom-image-history-changed.callback function( event : string, image : types.dt_lua_image_t ) event - string - The name of the event that triggered the callback. image - types.dt_lua_image_t - The image loaded into darkroom view 🔗darkroom-image-history-changed.extra registration parameters This event has no extra registration parameters. darkroom-image-loaded https://darktable-org.github.io/luadocs/lua.api.manual/events/darkroom-image-loaded/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/darkroom-image-loaded/ event This event is triggered whenever an image is loaded in darkroom view 🔗darkroom-image-loaded.callback function( event : string, image : types.dt_lua_image_t ) event - string - The name of the event that triggered the callback. image - types.dt_lua_image_t - The image loaded into darkroom view 🔗darkroom-image-loaded.extra registration parameters This event has no extra registration parameters. darktable.gui.action https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/action/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/action/ function( path : string, instance : integer, element : string, effect : string, speed : integer ) : string Will perform the specified effect on the path, instance, and element of an action, or return the status. path - string - The full path of an action, i.e. 'lib/filter/view'. instance - integer - The instance of an image processing module to execute action on". element - string - The element of an action, for example ‘selection’, or leave empty for default". _pdf_pages_t https://darktable-org.github.io/luadocs/lua.api.manual/types/_pdf_pages_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/_pdf_pages_t/ enum The different page types for PDF export Values : all single contact autostyle https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autostyle/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/autostyle/ 🔗Name autostyle.lua - automatically apply a given style when an exif tag is present in the image file 🔗Description Automatically apply a given style when an exif tag is present in the file. This tags are checked with exiftool, in order to be able to match very exotic tags. This was written to be able to apply a style to compensate for Auto-DR from Fujifilm cameras. 🔗Usage Set the exif configuration string in your lua configuration. caller https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/caller/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/caller/ 🔗NAME caller 🔗SYNOPSIS get the name and line number of the calling routine 🔗USAGE local log = require "lib/dtutils.log" result = log.caller(level) level - number - the number of stack levels to go down to retrieve the caller routine information 🔗DESCRIPTION caller gets the name and line number of the calling routine and returns it 🔗RETURN VALUE result - string - the name and line number of the calling function or ‘callback: ' if the attempt to get the caller returns nil check_if_bin_exists https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_bin_exists/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_bin_exists/ 🔗NAME check_if_bin_exists 🔗SYNOPSIS check if an executable exists 🔗USAGE local df = require "lib/dtutils.file" local result = df.check_if_bin_exists(bin) bin - string - the binary to check for 🔗DESCRIPTION check_if_bin_exists checks to see if the specified binary exists. check_if_bin_exists looks for an executable in the following order: If an executable preference is registered, then it’s checked to make sure it’s a file, exists, and is executable. If it passes all these tests it is returned to the caller. check_min_api_version https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_min_api_version/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_min_api_version/ 🔗NAME check_min_api_version 🔗SYNOPSIS check the minimum required application programming interface (API) version against the current API version 🔗USAGE local du = require "lib/dtutils" local result = du.check_min_api_version(min_api, script_name) min_api - string - the API version that the application was written for (example: “5.0.0”) script_name - string - the name of the script 🔗DESCRIPTION check_min_api_version compares the minimum API required for the application to run against the current API version. The minimum API version is typically the API version that was current when the application was created. copy_paste_metadata https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/copy_paste_metadata/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/copy_paste_metadata/ 🔗Name copy_paste_metadata.lua - copy and paste metadata between images 🔗Description This script adds keyboard shortcuts and buttons to copy/paste metadata between images. 🔗Usage start this script from script manager it adds buttons to the selected images module it adds two keyboard shortcuts 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus 🔗Change Log darkroom_demo https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/darkroom_demo/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/darkroom_demo/ 🔗Name darkroom_demo - an example script demonstrating how to control image display in darkroom mode 🔗Description darkroom_demo is an example script showing how to control the currently displayed image in darkroom mode using lua. 🔗Usage start this script from script manager 🔗Additional Software Required None 🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail.com 🔗Change Log darktable.collection https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.collection/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.collection/ Allows to access the currently worked on images, i.e the ones selected by the collection lib. Filtering (rating etc) does not change that collection. 🔗darktable.collection.# types.dt_lua_image_t Each image in the collection appears with a numerical index; you can iterate them using ipairs. darktable.gui.action_images https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/action_images/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/action_images/ table A table of types.dt_lua_image_t on which the user expects UI actions to happen. It is based on both the hovered image and the selection and is consistent with the way darktable works. It is recommended to use this table to implement Lua actions rather than darktable.gui.hovered or darktable.gui.selection to be consistent with darktable’s GUI. darktable.gui.libs.backgroundjobs https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/backgroundjobs/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/backgroundjobs/ The window displaying the currently running jobs Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.views.darkroom https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/darkroom/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/darkroom/ The darkroom view Attributes: has_tostring parent : types.dt_lua_view_t 🔗darktable.gui.views.darkroom.display_image function( [image : types.dt_lua_image_t] ) : types.dt_lua_image_t Display an image in darkroom view. **[image] - types.dt_lua_image_t - The image to be displayed. If the image is not given, nothing will be changed. return - types.dt_lua_image_t - The image currently displayed. dprint https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/dprint/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/dprint/ 🔗NAME dprint 🔗SYNOPSIS pass a variable to darktable.debug.dump and print the results to stdout 🔗USAGE local dd = require "lib/dtutils.debug" dd.dprint(var) var - variable - any variable that you want to see the contents of 🔗DESCRIPTION dprint is a wrapper around darktable.debug.dump, will directly print to stdout, same calling convention escape_xml_characters https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/escape_xml_characters/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/escape_xml_characters/ 🔗NAME escape_xml_characters 🔗SYNOPSIS escape characters for xml documents 🔗USAGE local ds = require "lib/dtutils.string" local result = ds.escape_xml_characters(str) str - string - the string that needs escaped 🔗DESCRIPTION escape_xml_characters provides the escape sequences for "&", '"', "'", "<", and ">" with the corresponding "&",""", "'", "<", and ">" . 🔗RETURN VALUE result - string - the string containing escapes for the xml characters 🔗REFERENCE https://stackoverflow.com/questions/1091945/what-characters-do-i-need-to-escape-in-xml-documents exit https://darktable-org.github.io/luadocs/lua.api.manual/events/exit/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/exit/ event This event is triggered when darktable exits, it allows lua scripts to do cleanup jobs 🔗events.exit.callback function( ) 🔗events.exit.extra registration parameters This event has no extra registration parameters. external_command https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/external_command/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/external_command/ 🔗NAME external_command 🔗SYNOPSIS pass a command to the operating system for execution and return the result 🔗USAGE local dsys = require "lib/dtutils.system" local result = dsys.external_command(command) command - string - a string containing the command and arguments to be passed to the operating system for execution. 🔗DESCRIPTION external_command passes a command to the operating system for execution and returns the results. 🔗RETURN VALUE result - number = the return value signalling success or failure. gen_i18n_mo https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/gen_i18n_mo/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/gen_i18n_mo/ 🔗Name gen_i18n_mo - generate translation files from the source and place them in the appropriate locale directory 🔗Description gen_i18n_mo finds all the .po files scattered throughout the script tree, compiles them into .mo files and places them in the correct locale directory for use by the gettext tools. 🔗Usage start this script from script manager. Stop the script after it runs or it will regenerate the translation files each time darktable starts. installation https://darktable-org.github.io/luadocs/lua.scripts.manual/installation/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/installation/ 🔗Download and Install The recommended method of installation is using git to clone the repository. This ensures that all dependencies on other scripts are met as well as providing an easy update path. 🔗snap packages The snap version of darktable comes with lua included starting with version 2.4.3snap2. Ensure git is installed on your system. If it isn’t, use the package manager to install it. Then open a terminal and: check_if_file_exists https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_file_exists/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/check_if_file_exists/ 🔗NAME check_if_file_exists 🔗SYNOPSIS check if a file or path exist 🔗USAGE local df = require "lib/dtutils.file" local result = df.check_if_file_exists(filepath) filepath - string - a file or path to check 🔗DESCRIPTION check_if_file_exists checks to see if a file or path exists. 🔗RETURN VALUE result - boolean - true if the file or path exists, false if it doesn’t. check_os https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_os/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/check_os/ 🔗NAME check_os 🔗SYNOPSIS check that the operating system is supported 🔗USAGE local du = require "lib/dtutils" local result = du.check_os(operating_systems) operating_systems - table - a table of operating system names such as {“windows”,“linux”,“macos”,“unix”} 🔗DESCRIPTION check_os checks a supplied table of operating systems against the operating system the script is running on and returns true if the OS is in the list, otherwise false 🔗RETURN VALUE result - boolean - true if the operating system is supported, false if not. clear_GPS https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/clear_gps/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/clear_gps/ 🔗Name clear_GPS.lua - clear_GPS - clear GPS data from selected image(s) 🔗Description This shortcut removes the GPS coordinate data from the selected images. 🔗Usage start the script from script manager select an image or images click the shortcut, or the button in selected images to clear GPS data 🔗Additional Software Required 🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail.com 🔗Change Log comp_type_t https://darktable-org.github.io/luadocs/lua.api.manual/types/comp_type_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/comp_type_t/ enum Type of compression for webp Values: webp_lossy webp_lossless darktable.configuration https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.configuration/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.configuration/ table This table includes values that describe details of the configuration of darktable. 🔗darktable.configuration.version string The version number of darktable. 🔗darktable.configuration.has_gui boolean True if darktable has a GUI (launched through the main darktable command, not darktable-cli). 🔗darktable.configuration.verbose boolean True if the Lua logdomain is enabled. 🔗darktable.configuration.tmp_dir string The name of the directory where darktable will store temporary files. 🔗darktable.configuration.config_dir string The name of the directory where darktable will find its global configuration objects (modules). darktable.gui.create_job https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/create_job/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/create_job/ function( text : string, [percentage : boolean], [cancel_callback : function] ) : types.dt_lua_backgroundjob_t Create a new progress_bar displayed in darktable.gui.libs.backgroundjobs text - string - The text to display in the job entry [percentage] - boolean - Should a progress bar be displayed [cancel_callback] - function - A function called when the cancel button for that job is pressed. Note: the job won’t be destroyed automatically. darktable.gui.libs.camera https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/camera/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/camera/ The camera selection UI Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.views.lighttable https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/lighttable/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/lighttable/ The lighttable view Attributes: has_tostring parent : types.dt_lua_view_t 🔗darktable.gui.views.lighttable.is_image_visible function( image : types.dt_lua_image_t ) : types.dt_lua_image_t Check if the image is visible in lighttable view. The lighttable must be in file manager or zoomable mode. image - types.dt_lua_image_t - The image to be checked. return - boolean - True if the image is displayed. False if the image is partially displayed or not displayed. 🔗darktable.gui.views.lighttable.set_image_visible function( image : types. delete_long_tags https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_long_tags/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_long_tags/ 🔗Name delete_long_tags.lua - delete all tags longer than a set length 🔗Description A simple script that will automatically delete all tags longer than a set length 🔗Usage start this script from script manager set the the maximum length in darktable’s preference restart darktable 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus 🔗Change Log engine https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/engine/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/engine/ 🔗NAME engine 🔗SYNOPSIS get and set the output engine 🔗USAGE local log = require "lib/dtutils.log" result = log.engine(level, ...) level - table - the log level to get or set the engine for, one of log.debug, log.info, log.warn, log.error log.success, log.always, log.screen, log.critical … - function - the output function, one of dt.print, dt.print_error, dt.print_log, print if not function is included, the current engine is returned for the specified log level get_lib_manpages https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_lib_manpages/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_lib_manpages/ 🔗Name get_lib_manpages.lua - retrieve the included library documentation and output it as man pages 🔗Description This script retrieves the included documentation in the script libaries and outputs them to the system temporary directory as man pages. Stop this script after it runs otherwise it will regenerate the pages each time it runs. 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log gettextExample https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/gettextexample/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/gettextexample/ 🔗Name gettextExample.lua - darktable script to show how translations works 🔗Description To create the .po file run: xgettext -l lua gettextExample.lua xgettext is not a lua tool, it knows (almost) nothing about Lua, and not enough to do a proper parsing. It takes a text file (In our case a Lua file) and recognises a few (language dependant) keyword in there. It matches those keywords with internal description on how functions are called and creates the . global_toolbox-grouping_toggle https://darktable-org.github.io/luadocs/lua.api.manual/events/global_toolbox-grouping_toggle/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/global_toolbox-grouping_toggle/ event This event is triggered after the user toggled the grouping button. 🔗global_toolbox-grouping_toggle.callback function( toggle : boolean ) toggle - boolean - the new grouping status. 🔗global_toolbox-grouping_toggle.extra registration parameters This event has no extra registration parameters. is_not_sanitized https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/is_not_sanitized/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/is_not_sanitized/ 🔗NAME is_not_sanitized 🔗SYNOPSIS Check if a string has been sanitized 🔗USAGE local ds = require "lib/dtutils.string" local result = ds.is_not_sanitized(str) str - string - the string that needs to be made safe 🔗DESCRIPTION is_not_sanitized checks a string to see if it has been made safe use passing as an argument in a system command. 🔗RETURN VALUE result - boolean - true if the string is not sanitized otherwise false launch_default_app https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/launch_default_app/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/launch_default_app/ 🔗NAME launch_default_app 🔗SYNOPSIS open file in default application 🔗USAGE local dsys = require "lib/dtutils.file" result = dsys.launch_default_app(path) path - string - a file path 🔗DESCRIPTION launch_default_app allows opening a file in the application that is assigned as default for that filetype in the users’s system 🔗RETURN VALUE result - number - the return value signalling success or failure. new_tracepoint https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/new_tracepoint/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/new_tracepoint/ 🔗NAME new_tracepoint 🔗SYNOPSIS create a function returning a tracepoint 🔗USAGE local dd = require "lib/dtutils.debug" local result = dd.new_tracepoint(name, ...) name - string - the name of the tracepoint to print out … - arguments - variables to dump the contents of 🔗DESCRIPTION new_tracepoint returns a tracepoint function with the given name. This is mainly used to debug callbacks. 🔗RETURN VALUE result - function - a function that returns the result of a tracepoint troubleshooting https://darktable-org.github.io/luadocs/lua.scripts.manual/troubleshooting/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/troubleshooting/ Running darktable with Lua debugging enabled provides more information about what is occurring within the scripts. 🔗Snap Open a terminal and start darktable with the command snap run darktable -d lua. This provides debugging information to give you insight into what is happening. 🔗Linux Open a terminal and start darktable with the command darktable -d lua. This provides debugging information to give you insight into what is happening. 🔗MacOS Open a terminal and start darktable with the command /Applications/darktable. deprecated https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/deprecated/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/deprecated/ 🔗NAME deprecated 🔗SYNOPSIS warn that a script is deprecated 🔗USAGE local du = require "lib/dtutils" du.deprecated(script_name, deprecation_time) script_name - string - the name of the script, i.e. “contrib/clear_GPS” deprecation_time - string - when the script will be removed, i.e. “darktable release 4.0” 🔗DESCRIPTION deprecated gives users a warning that a script is outdated or no longer useful and will be removed at the specified time find_image_by_id https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/find_image_by_id/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/find_image_by_id/ 🔗NAME find_image_by_id 🔗SYNOPSIS look up an image by ID in the database 🔗USAGE local du = require "lib/dtutils" local img = du.find_image_by_id(imgid) imgid - int - the image ID to retrieve 🔗DESCRIPTION find_image_by_id looks up an image by ID in the database. 🔗RETURN VALUE img - dt_lua_image_t - image with the given ID if found, nil if not chop_filetype https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/chop_filetype/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/chop_filetype/ 🔗NAME chop_filetype 🔗SYNOPSIS remove a filetype from a filename 🔗USAGE local df = require "lib/dtutils.file" local result = df.chop_filetype(path) path - string - a filename with or without a path 🔗DESCRIPTION chop_filetype removes the filetype from the filename. 🔗RETURN VALUE result - string - the path and filename without the filetype CollectHelper https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/collecthelper/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/collecthelper/ 🔗Name CollectHelper.lua - add buttons to help with collections 🔗Description This plugin adds the button(s) to the “Selected Images” module: Return to Previous Collection Collect on image’s Folder Collect on image’s Color Label(s) Collect on All (AND) It also adds 3 preferences to the lua options dialog box which allow the user to activate/deactivate the 3 “Collect on” buttons. Button Behavior: Return to Previous Collection - Will reset the collect parameters to the previously active settings Collect on image’s Folder - Will change the collect parameters to be “Folder” with a value of the selected image’s folder location Collect on image’s Color Label(s) - Will change the collect parameter to be “Color” with a value of the selected images color labels, will apply multiple parameters with AND logic if multiple exist Collect on All (AND) - Will collect on all parameters activated by the preferences dialog, as such this button is redundant if you only have one of the two other options enabled 🔗Usage start CollectHelper with script manager. darktable.control https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.control/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.control/ This table contain function to manipulate the control flow of lua programs. It provides ways to do background jobs and other related functions 🔗darktable.control.ending boolean TRUE when darktable is terminating Use this variable to detect when you should finish long running jobs 🔗darktable.control.dispatch function( function : function, ... : anything ) Runs a function in the background. This function will be run at a later point, after luarc has finished running. darktable.gui.current_view https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/current_view/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/current_view/ function( [view : types.dt_lua_view_t] ) : types.dt_lua_view_t Get or change the current view. [view] - _types.dt_lua_view_t_ - The view to switch to. If empty the current view is unchanged return - _types.dt_lua_view_t_ - the current view darktable.gui.libs.collect https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/collect/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/collect/ The collection UI element that allows to filter images by collection Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.collect.filter function( [rules : array of types.dt_lib_collect_params_rule_t] ) : array oftypes.dt_lib_collect_params_rule_t Get or change the list of visible images Attributes: implicit_yield [rules] - array of types.dt_lib_collect_params_rule_t - A table of rules describing the filter. These rules will be applied after this call return - array of types. darktable.gui.views.map https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/map/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/map/ The map view Attributes: has_tostring parent : types.dt_lua_view_t 🔗darktable.gui.views.map.latitude number - The latitude of the center of the map Attributes: write 🔗darktable.gui.views.map.longitude number - The longitude of the center of the map Attributes: write 🔗darktable.gui.views.map.zoom number - The current zoom level of the map Attributes: write delete_unused_tags https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_unused_tags/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/delete_unused_tags/ 🔗Name delete_unused_tags.lua - automatically delete all tags that are not attached to any images 🔗Description A simple script that will automatically delete all tags that are not attached to any images 🔗Usage start this script from script manager restart darktable 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus 🔗Change Log dt_collection_filter_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_filter_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_filter_t/ enum The different elements on which a collection can be filtered Values: DT_COLLECTION_FILTER_ALL DT_COLLECTION_FILTER_STAR_NO DT_COLLECTION_FILTER_STAR_1 DT_COLLECTION_FILTER_STAR_2 DT_COLLECTION_FILTER_STAR_3 DT_COLLECTION_FILTER_STAR_4 DT_COLLECTION_FILTER_STAR_5 DT_COLLECTION_FILTER_REJECT DT_COLLECTION_FILTER_NOT_REJECT get_libdoc https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_libdoc/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/get_libdoc/ 🔗Name get_libdoc.lua - retrieve the included library documentation and output it as text 🔗Description 🔗Usage start this script from script manager. Disable it after it finishes or it will generate the pages every time darktable runs. 🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log global_toolbox-overlay_toggle https://darktable-org.github.io/luadocs/lua.api.manual/events/global_toolbox-overlay_toggle/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/global_toolbox-overlay_toggle/ event This event is triggered after the user toggled the overlay button. 🔗global_toolbox-overlay_toggle.callback function( toggle : boolean ) toggle - boolean - the new overlay status. 🔗global_toolbox-overlay_toggle.extra registration parameters This event has no extra registration parameters. hello_world https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/hello_world/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/hello_world/ 🔗Name hello_world.lua - a simple lua script 🔗Description prints “hello world when DT starts 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus 🔗Change Log join https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/join/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/join/ 🔗NAME join 🔗SYNOPSIS join a table of strings with a specified separator 🔗USAGE local du = require "lib/dtutils" local result = du.join(tabl, pat) tabl - table - a table of strings pat - string - a separator 🔗DESCRIPTION join assembles a table of strings into a string with the specified pattern in between each string 🔗RETURN VALUE result - string - the joined string on success, or an empty string on failure log_level https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/log_level/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/log_level/ 🔗NAME log_level 🔗SYNOPSIS get or set the log level 🔗USAGE local log = require "lib/log" local result = log.log_level(...) … - arguments - if none is supplied, then the current log level is returned as one of: log.debug, log.info, log.warn, log.error, log.success. If one of log.debug, log.info, log.warn, log.error, or log.success is supplied as the argument then the log level is set to that value. All log levels greater than or equal in value will be enabled. sanitize https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize/ 🔗NAME sanitize 🔗SYNOPSIS surround a string in quotes making it safe to pass as an argument 🔗USAGE local ds = require "lib/dtutils.string" local result = ds.sanitize(str) str - string - the string that needs to be made safe 🔗DESCRIPTION sanitize converts a string into a version suitable for use passing as an argument in a system command. 🔗RETURN VALUE result - string - a websafe string terse_dump https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/terse_dump/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/terse_dump/ 🔗NAME terse_dump 🔗SYNOPSIS set darktable.debug.known to shorten all image dumps to a single line 🔗USAGE local dd = require "lib/dtutils.debug" dd.terse_dump() 🔗DESCRIPTION terse_dump sets darktable.debug.known to shorten all images to a single line. If you don’t need to debug the content of images, this will avoid them flooding your logs. windows_command https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/windows_command/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.system/windows_command/ 🔗NAME windows_command 🔗SYNOPSIS pass a command to the windows operating system for execution and return the result 🔗USAGE local dsys = require "lib/dtutils.system" local result = dsys.windows_command(command) command - string - a string containing the command and arguments to be passed to the operating system for execution. 🔗DESCRIPTION The normal method of executing an operating system command is using dt.control.execute(), but that doesn’t work with Windows when more than one item in the command is quoted. attributes https://darktable-org.github.io/luadocs/lua.api.manual/attributes/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/attributes/ This section documents various attributes used throughout the documentation. 🔗write This object is a variable that can be written to. 🔗has_tostring This object has a specific reimplementation of the “tostring” method that allows pretty-printing it. 🔗implicit_yield This call will release the Lua lock while executing, thus allowing other Lua callbacks to run. 🔗parent This object inherits some methods from another object. You can call the methods from the parent on the child object copy_attach_detach_tags https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/copy_attach_detach_tags/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/copy_attach_detach_tags/ 🔗Name copy_attach_detach_tags.lua - tools to manipulate image tags 🔗Description This script that will create four shortcuts and add a module in lighttable mode to copy, paste, replace and remove tags from images. 🔗Usage set the shortcuts for copy, attach and detach in the preferences dialog <your shortcut1> copy will create a list of tags from all selected images <your shortcut2> paste copied tags to selected images, whereby darktable internal tags starting with ‘darktable|’ will not be touched <your shortcut3> removes all except darktable internal tags from selected images <your shortcut4> replaces all tags except darktable internals A module reset will empty the clipboard 🔗Additional Software Required 🔗Limitations 🔗Author Christian Kanzian create_unique_filename https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/create_unique_filename/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/create_unique_filename/ 🔗NAME create_unique_filename 🔗SYNOPSIS create a unique filename from the supplied argument 🔗USAGE local df = require "lib/dtutils.file" local result = df.create_unique_filename(filepath) filepath - string - the path and filename requested 🔗DESCRIPTION create_unique_filename takes a requested filepath and checks to see if it exists. If if doesn’t then it’s returned intact. If it already exists, then a two digit increment is added to the filename and it is tested again. The increment keeps increasing until either a unique filename is found or there have been 100 attempts. darktable.database https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.database/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.database/ Allows access to the database of images. Note that duplicate images (images with the same RAW but different XMP) will appear multiple times with different duplicate indexes. Also note that all images are here. This table is not influenced by any GUI filtering (collections, stars etc…). 🔗darktable.database.# types.dt_lua_image_t Each image in the database appears with a numerical index; you can iterate over them using ipairs. 🔗darktable.database.duplicate function( image : types.dt_lua_image_t ) : types. darktable.gui.hovered https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/hovered/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/hovered/ types.dt_lua_image_t The image under the cursor or nil if no image is hovered. darktable.gui.libs.colorlabels https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/colorlabels/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/colorlabels/ The color buttons that allow to set labels on an image Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.views.print https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/print/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/print/ The print view Attributes: has_tostring parent : types.dt_lua_view_t dt_collection_properties_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_properties_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_properties_t/ enum The different elements on which a collection can be filtered Values: DT_COLLECTION_PROP_FILMROLL DT_COLLECTION_PROP_FOLDERS DT_COLLECTION_PROP_CAMERA DT_COLLECTION_PROP_TAG DT_COLLECTION_PROP_DAY DT_COLLECTION_PROP_TIME DT_COLLECTION_PROP_IMPORT_TIMESTAMP DT_COLLECTION_PROP_CHANGE_TIMESTAMP DT_COLLECTION_PROP_EXPORT_TIMESTAMP DT_COLLECTION_PROP_PRINT_TIMESTAMP DT_COLLECTION_PROP_HISTORY DT_COLLECTION_PROP_COLORLABEL DT_COLLECTION_PROP_TITLE DT_COLLECTION_PROP_DESCRIPTION DT_COLLECTION_PROP_CREATOR DT_COLLECTION_PROP_PUBLISHER DT_COLLECTION_PROP_RIGHTS DT_COLLECTION_PROP_LENS DT_COLLECTION_PROP_FOCAL_LENGTH DT_COLLECTION_PROP_ISO DT_COLLECTION_PROP_APERTURE DT_COLLECTION_PROP_FILENAME DT_COLLECTION_PROP_GEOTAGGING enfuse https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/enfuse/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/enfuse/ 🔗Name enfuse.lua - merge the selected images into one tonemapped image and import the result 🔗Description This script uses enfuse to merge the selected images into one tonemapped image and imports the result. It only works on ldr images (like, JPEG). 🔗Usage start this script from script manager it creates a new lighttable module 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus 🔗Change Log intermediate-export-image https://darktable-org.github.io/luadocs/lua.api.manual/events/intermediate-export-image/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/intermediate-export-image/ event This event is called each time an image is exported, once for each image after the image has been processed to an image format but before the storage has moved the image to its final destination. The call is blocking. 🔗intermediate-export-image.callback function( event : string, image : types.dt_lua_image_t, filename : string, format : types.dt_imageio_module_format_t, storage : types.dt_imageio_module_storage_t ) event - string - The name of the event that triggered the callback. lighttable_demo https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/lighttable_demo/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/lighttable_demo/ 🔗Name lighttable_demo.lua - an example script demonstrating how to control lighttable display modes 🔗Description lighttable_demo is an example script showing how to control lighttable layout, sorting, and filtering from a lua script. If the selected directory has different ratings, color labels, etc, then the sorting and filtering display is a little clearer. 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail.com msg https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/msg/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.log/msg/ 🔗NAME msg 🔗SYNOPSIS print a log message 🔗USAGE local log = require "lib/log" log.msg(level, ...) level - table - the type of message, one of: log.debug - debugging messages log.info - informational messages log.warn - warning messages log.error - error messages log.success - success messages log.always - an internal message for debugging log.screen - output 1 line of text to the screen log.critical - print a critical message to the console … - string(s) - the message to print, which could be a comma separated set of strings prequire https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/prequire/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/prequire/ 🔗NAME prequire 🔗SYNOPSIS a protected lua require 🔗USAGE local du = require "lib/dtutils" local status, lib = du.prequire(req_name) req_name - string - the filename of the lua code to load without the “.lua” filetype 🔗DESCRIPTION prequire is a protected require that can survive an error in the code being loaded without bringing down the calling routine. 🔗RETURN VALUE status - boolean - true on success lib - if status is true, then the code, otherwise an error message sanitize_lua https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize_lua/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/sanitize_lua/ 🔗NAME sanitize_lua 🔗SYNOPSIS escape lua ‘magic’ characters from a pattern string 🔗USAGE local ds = require "lib/dtutils.string" local result = ds.sanitize_lua(str) str - string - the string that needs to be made safe 🔗DESCRIPTION sanitize_lua escapes lua ‘magic’ characters so that a string may be used in lua string/patten matching. 🔗RETURN VALUE result - string - a lua pattern safe string script_manager https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/script_manager/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/tools/script_manager/ 🔗Name script_manager.lua - a tool for managing the darktable lua scripts 🔗Description script_manager is designed to be called from the users luarc file and used to manage the lua scripts. On startup script_manager scans the lua scripts directory to see what scripts are present. Scripts are sorted by ‘category’ based on what sub-directory they are in. With no additional script repositories iinstalled, the categories are contrib, examples, official and tools. When a category is selected the buttons show the script name and whether the script is started or stopped. tracepoint https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/tracepoint/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.debug/tracepoint/ 🔗NAME tracepoint 🔗SYNOPSIS print out a tracepoint and dump the arguments 🔗USAGE local dd = require "lib/dtutils.debug" local result = dd.tracepoint(name, ...) name - string - the name of the tracepoint to print out … - arguments - variables to dump the contents of 🔗DESCRIPTION tracepoint prints its name and dumps its parameters using darktable.debug. 🔗RETURN VALUE result - … - the supplied argument list cr2hdr https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/cr2hdr/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/cr2hdr/ 🔗Name cr2hdr.lua - Magic Lantern Dual ISO processing 🔗Description cr2hdr Magic Lantern Dual ISO processing. This script automates the steps involved to process an image created with the Magic Lantern Dual ISO module. Upon invoking the script with a shortcut “cr2hdr” provided by Magic Lantern is run on the selected images. The processed files are imported. They are also made group leaders to hide the original files. 🔗Usage start this script using script manager trigger conversion on selected/hovered images by shortcut (set shortcut in settings dialog) it is also possible to have the script run after importing a collection (optin, since it is not that fast) 🔗Additional Software Required cr2hdr (sources can be obtained through the Magic Lantern repository) 🔗Limitations 🔗Author Till Theato - theato@ttill. darktable.debug https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.debug/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.debug/ table This section must be activated separately by calling require darktable.debug 🔗darktable.debug.dump function( object : anything, [name : string], [known : table] ) : string This will return a string describing everything Lua knows about an object, used to know what an object is. This function is recursion-safe and can be used to dump _G if needed. object - anything - The object to dump. [name] - string - A name to use for the object. darktable.gui.libs.colorpicker https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/colorpicker/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/colorpicker/ The colorpicker menu Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.views.slideshow https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/slideshow/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/slideshow/ The slideshow view Attributes: has_tostring parent : types.dt_lua_view_t dt_collection_rating_comperator_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_rating_comperator_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_rating_comperator_t/ enum The different ways in which a collection filter can be compared Values: DT_COLLECTION_RATING_COMP_LT DT_COLLECTION_RATING_COMP_LEQ DT_COLLECTION_RATING_COMP_EQ DT_COLLECTION_RATING_COMP_GEQ DT_COLLECTION_RATING_COMP_GT DT_COLLECTION_RATING_COMP_NE DT_COLLECTION_RATING_N_COMPS executable_path_widget https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/executable_path_widget/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/executable_path_widget/ 🔗NAME executable_path_widget 🔗SYNOPSIS create a widget to get executable path preferences 🔗USAGE local df = require "lib/dtutils.file" local widget = df.executable_path_widget(executables) executables - table - a table of strings that are executable names 🔗DESCRIPTION executable_path_widget takes a table of executable names and builds a set of file selector widgets to get the path to the executable. The resulting widgets are wrapped in a box widget and returned. 🔗RETURN VALUE widget - widget - a widget containing a file selector widget for each executable. generate_image_txt https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/generate_image_txt/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/generate_image_txt/ 🔗Name generate_image_txt.lua - generate text metadata 🔗Description A script to run a command on images to generate text metadata The medata will be displayed as an overlay on the image in lighttable mode 🔗Usage start this script from script manager set a command to run on all image, this command should output text on stdout enable image file generation 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Ellinghaus 🔗Change Log moduleExample https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/moduleexample/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/moduleexample/ 🔗Name moduleExample.lua - create a new example lighttable module 🔗Description More informations about building user interface elements: https://www.darktable.org/usermanual/ch09.html.php#lua_gui_example And about new_widget here: https://www.darktable.org/lua-api/index.html.php#darktable_new_widget 🔗Usage start this script from script manager it creates a new example lighttable module 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs 🔗Change Log mouse-over-image-changed https://darktable-org.github.io/luadocs/lua.api.manual/events/mouse-over-image-changed/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/mouse-over-image-changed/ event This event is triggered whenever the image under the mouse changes 🔗mouse-over-image-changed.callback function( event : string, image : types.dt_lua_image_t ) event - string - The name of the event that triggered the callback. image - types.dt_lua_image_t - The new image under the mouse, can be nil if there is no image under the mouse 🔗mouse-over-image-changed.extra registration parameters This event has no extra registration parameters. spairs https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/spairs/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/spairs/ 🔗NAME spairs 🔗SYNOPSIS an iterator that provides sorted pairs from a table 🔗USAGE local du = require "lib/dtutils" for key, value in du.spairs(t, order) do -- do something end t - table - table of key, value pairs order - function - an optional function to sort the pairs, if none is supplied, table.sort() is used 🔗DESCRIPTION spairs is an iterator that returns key, value pairs from a table in sorted order. strip_accents https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/strip_accents/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/strip_accents/ 🔗NAME strip_accents 🔗SYNOPSIS strip accents from characters 🔗USAGE local ds = require "lib/dtutils.string" local result = ds.strip_accents(str) str - string - the string with characters that need accents removed 🔗DESCRIPTION strip_accents removes accents from accented characters returning the unaccented character. 🔗RETURN VALUE result - string - the string containing unaccented characters 🔗REFERENCE Copied from https://forums.coronalabs.com/topic/43048-remove-special-characters-from-string/ darktable.films https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.films/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.films/ A table containing all the film objects in the database. 🔗darktable.films.# types.dt_lua_film_t Each film has a numeric entry in the database. See types.dt_lua_film_t. 🔗darktable.films.new function( directory : string ) : types.dt_lua_film_t Creates a new empty film see darktable.database.import to import a directory with all its images and to add images to a film directory - string - The directory that the new film will represent. The directory must exist return - types. darktable.gui.libs.copy_history https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/copy_history/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/copy_history/ The UI element that manipulates history Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.panel_get_size https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_get_size/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_get_size/ function( panel : types.dt_ui_panel_t ):int Gets the size in pixels of the specified panel. This only works for the left, right, and bottom panels. panel - types.dt_ui_panel_t - The panel to get the size of. darktable.gui.views.tethering https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/tethering/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/views/tethering/ The tethering view Attributes: has_tostring parent : types.dt_lua_view_t dt_collection_sort_order_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_sort_order_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_sort_order_t/ enum The different orders that a collection can be sorted in Values: DT_COLLECTION_SORT_ORDER_ASCENDING DT_COLLECTION_SORT_ORDER_DESCENDING enfuseAdvanced https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/enfuseadvanced/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/enfuseadvanced/ 🔗Name enfuseAdvanced.lua - process HDR or focus stacked images 🔗Description This plugin will add the new export module ‘fusion to DRI or DFF image’. DRI = Dynamic Range Increase (Blend multiple bracket images into a single LDR file) DFF = Depth From Focus (‘Focus Stacking’ - Blend multiple images with different focus into a single image) 🔗Usage Start this script using script manager. Select multiple images that are either bracketed, or focus-shifted, set your desired operating parameters, and press the export button. file_copy https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_copy/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_copy/ 🔗NAME file_copy 🔗SYNOPSIS copy a file to another name/location 🔗USAGE local df = require "lib/dtutils.file" local result = df.file_copy(fromFile, toFile) fromFile - string - name of file to copy from toFile - string - name of file to copy to 🔗DESCRIPTION copy a file using a succession of methods from operating system to a pure lua solution 🔗RETURN VALUE result - boolean - nil on error, true on success image_path_in_ui https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/image_path_in_ui/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/image_path_in_ui/ 🔗Name image_path_in_ui.lua - Add a widget with the path of the selected images 🔗Description Add a widget with the path of the selected images for easy copy/past Simple shortcuts to have multiple selection bufers This plugin will add a widget at the bottom of the left column in lighttable mode 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author Jérémy Rosen 🔗Change Log multi_os https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/multi_os/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/multi_os/ 🔗Name multi_os.lua - an example script that runs on linux, MacOS, and Windows. 🔗Description multi_os is an example of how to write a script that will run on different operating systems. It uses the lua-scripts libraries to lessen the amount of code that needs to be written, as well as gaining access to tested cross-platform routines. This script also performs a function that some may find useful. It creates a button in the lighttable selected images module that extracts the embedded jpeg image from a raw file, then imports it and groups it with the raw file. post-import-film https://darktable-org.github.io/luadocs/lua.api.manual/events/post-import-film/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/post-import-film/ event This event is triggered when an film import is finished (all post-import-image callbacks have already been triggered). This event can be registered multiple times. 🔗post-import-film.callback function( event : string, film : types.dt_lua_film_t ) event - string - The name of the event that triggered the callback. film - types.dt_lua_film_t - The new film that has been added. If multiple films were added recursively only the top level film is reported. split https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/split/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils/split/ 🔗NAME split 🔗SYNOPSIS split a string on a specified separator 🔗USAGE local du = require "lib/dtutils" local result = du.split(str, pat) str - string - the string to split pat - string - the pattern to split on 🔗DESCRIPTION split separates a string into a table of strings. The strings are separated at each occurrence of the supplied pattern. The pattern may be any pattern as described in the lua docs. urlencode https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/urlencode/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.string/urlencode/ 🔗NAME urlencode 🔗SYNOPSIS encode a string in a websage manner 🔗USAGE local ds = require "lib/dtutils.string" local result = ds.urlencode(str) str - string - the string that needs to be made websafe 🔗DESCRIPTION urlencode converts a string into a websafe version suitable for use in a web browser. 🔗RETURN VALUE result - string - a websafe string 🔗REFERENCE https://forums.coronalabs.com/topic/43048-remove-special-characters-from-string darktable.gettext https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.gettext/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.gettext/ table This table contains functions related to translating lua scripts 🔗darktable.gettext.gettext function( msgid : string ) : string Translate a string using the darktable textdomain msgid - string - The string to translate return - string - The translated string 🔗darktable.gettext.dgettext function( domainname : string, msgid : string ) : string Translate a string using the specified textdomain domainname - string - The domain to use for that translation msgid - string - The string to translate return - string - The translated string 🔗darktable. darktable.gui.libs.darktable_label https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/darktable_label/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/darktable_label/ The darktable logo in the upper left corner Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.panel_hide https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_hide/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_hide/ function( panel : types.dt_ui_panel_t ) Hides the specified panel. panel - types.dt_ui_panel_t - The panel to hide. dt_collection_sort_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_sort_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_collection_sort_t/ enum The different elements on which a collection can be sorted Values: DT_COLLECTION_SORT_NONE DT_COLLECTION_SORT_FILENAME DT_COLLECTION_SORT_DATETIME DT_COLLECTION_SORT_IMPORT_TIMESTAMP DT_COLLECTION_SORT_CHANGE_TIMESTAMP DT_COLLECTION_SORT_EXPORT_TIMESTAMP DT_COLLECTION_SORT_PRINT_TIMESTAMP DT_COLLECTION_SORT_RATING DT_COLLECTION_SORT_ID DT_COLLECTION_SORT_COLOR DT_COLLECTION_SORT_GROUP DT_COLLECTION_SORT_PATH DT_COLLECTION_SORT_CUSTOM_ORDER DT_COLLECTION_SORT_TITLE DT_COLLECTION_SORT_DESCRIPTION DT_COLLECTION_SORT_ASPECT_RATIO DT_COLLECTION_SORT_SHUFFLE exportLUT https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/exportlut/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/exportlut/ 🔗Name 🔗Description Given a haldCLUT identity file this script generates haldCLUTS from all the user’s styles and exports them to a location of their choosing. 🔗Usage Start this script from script manager. 🔗Additional Software Required 🔗Limitations Warning: during export if a naming collision occurs the older file is automatically overwritten silently. 🔗Author Noah Clarke 🔗Change Log file_move https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_move/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/file_move/ 🔗NAME file_move 🔗SYNOPSIS move a file from one directory to another 🔗USAGE local df = require "lib/dtutils.file" local result = df.file_move(fromFile, toFile) fromFile - string - name of the original file toFile - string - the new file location and name 🔗DESCRIPTION Move a file from one place to another. Try a succession of methods from builtin to operating system to a pure lua solution. 🔗RETURN VALUE result - boolean - nil on error, some value on success import_filter_manager https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filter_manager/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filter_manager/ 🔗Name import_filter_manager.lua - add a dropdown list with import filters to the import dialog 🔗Description This script adds a dropdown list with import filters to the import dialog. Scripts can add new filters by registering them with darktable.register_import_filter(name, callback) The callback has type function(event, images), i.e., it is the same as when directly registering the pre-import event. 🔗Usage start this script from script manager also require some files with import filters, for example import_filters. panels_demo https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/panels_demo/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/panels_demo/ 🔗Name panels_demo.lua - an example script demonstrating how to contol panel visibility 🔗Description panels_demo is an example script showing how to control panel visibility. It cycles through the panels hiding them one by one, then showing them one by one, then hiding all, then showing all. Finally, the original panel visibility is restored. 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author 🔗Change Log post-import-image https://darktable-org.github.io/luadocs/lua.api.manual/events/post-import-image/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/post-import-image/ event This event is triggered whenever a new image is imported into the database. This event can be registered multiple times, all callbacks will be called. The call is blocking. 🔗post-import-image.callback function( event : string, image : types.dt_lua_image_t ) event - string - The name of the event that triggered the callback. image - types.dt_lua_image_t - The image object that has been imported. 🔗post-import-image.extra registration parameters This event has no extra registration parameters. darktable.gui.libs.export https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/export/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/export/ The export menu Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.panel_hide_all https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_hide_all/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_hide_all/ function( ) Hide all panels. dt_imageio_exr_compression_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_exr_compression_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_exr_compression_t/ enum The type of compression to use for the EXR image Values: off rle zips zip piz pxr24 b44 b44a ext_editor https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/ext_editor/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/ext_editor/ 🔗Name ext_editor.lua - edit images with external editors 🔗Description This script provides helpers to edit image files with programs external to darktable. It adds: a new target storage “collection”. Image exported will be reimported to collection for further editing with external programs a new lighttable module “external editors”, to select a program from a list of up to 9 external editors and run it on a selected image (adjust this limit by changing MAX_EDITORS) an option to display the module in darkroom view a set of lua preferences in order to configure name and path of up to 9 external editors a set of lua shortcuts in order to quick launch the external editors 🔗Usage start this script with script manager 🔗setup in “preferences/lua options” configure name and path/command of external programs note that if a program name is left empty, that and all following entries will be ignored in “preferences/shortcuts/lua” configure shortcuts for external programs (optional) whenever programs preferences are changed, in lighttable/external editors, press “update list” 🔗use in the export dialog choose “collection” and select the format and bit depth for the exported image filename_increment https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/filename_increment/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/filename_increment/ 🔗NAME filename_increment 🔗SYNOPSIS add a two digit increment to a filename 🔗USAGE local df = require "lib/dtutils.file" local result = df.filename_increment(filepath) filepath - string - filename to increment 🔗DESCRIPTION filename_increment solves the problem of filename conflict by adding an increment to the filename. If the supplied filename has no increment then “01” is added to the basename. If the filename already has an increment, then 1 is added to it and the filename returned. import_filters https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filters/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/import_filters/ 🔗Name import_filters.lua - add filters for import_filter_manager 🔗Description This script goes along with the import filter manager. It adds two filters: ignore jpegs: this one does the same as the existing option in the import dialog and just skips all JPEGs during import. prefer raw over jpeg: this one is a bit more elaborate, it ignores JPEGs when there is also another file with the same basename, otherwise it allows JPEGs, too. pre-import https://darktable-org.github.io/luadocs/lua.api.manual/events/pre-import/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/pre-import/ event This event is trigger before any import action 🔗pre-import.callback function( event : string, images : table of string ) event - string - The name of the event that triggered the callback. images - table of string - The files that will be imported. Modifying this table will change the list of files that will be imported. 🔗pre-import.extra registration parameters This event has no extra registration parameters. preferenceExample https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/preferenceexamples/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/preferenceexamples/ 🔗Name preferenceExample.lua - show the different preference types that are possible with Lua 🔗Description darktable script to show the different preference types that are possible with Lua 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs 🔗Change Log darktable.gui.libs.filmstrip https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/filmstrip/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/filmstrip/ The filmstrip at the bottom of some views Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.panel_set_size https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_set_size/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_set_size/ function( panel : types.dt_ui_panel_t size : int ) Sets the size in pixels of the specified panel. This only works for the left, right, and bottom panels. panel - types.dt_ui_panel_t - The panel to set the size of. size - int - The size to set the panel to. darktable.guides https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.guides/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.guides/ table Guide lines to overlay over an image in crop and rotate. All guides are clipped to the drawing area. 🔗darktable.guides.register_guide function( name : string, draw_callback : function, [gui_callback : function] ) Register a new guide. name - string - The name of the guide to show in the GUI. draw_callback - function - The function to call to draw the guide lines. [gui_callback] - function - A function returning a widget to show when the guide is selected. dt_imageio_j2k_format_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_j2k_format_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_j2k_format_t/ enum J2K format type Values: j2k jp2 face_recognition https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/face_recognition/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/face_recognition/ 🔗Name face_recognition.lua - add a new storage option and calls face_recognition after export 🔗Description Add a new storage option to send images to face_recognition. Images are exported to darktable tmp dir first. A directory with known faces must exist, the image name are the tag names which will be used. Multiple images for one face can exist, add a number to it, the number will be removed from the tag, for example: People|IknowYou1. get_basename https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_basename/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_basename/ 🔗NAME get_basename 🔗SYNOPSIS get the filename without the path or extension 🔗USAGE local df = require "lib/dtutils.file" local result = df.get_basename(filepath) filepath - string - path and filename 🔗DESCRIPTION get_basename returns the name of the file without the path or filetype. 🔗RETURN VALUE result - string - the basename of the file printExamples https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/printexamples/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/printexamples/ 🔗Name printExamples.lua - prints “hello world” when darktable starts 🔗Description prints “hello world” to the screen when darktable starts 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs 🔗Change Log save_selection https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/save_selection/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/save_selection/ 🔗Name save_selection.lua - simple shortcuts to have multiple selection buffers 🔗Description Simple shortcuts to have multiple selection buffers 🔗Usage start this script from script manager go to configuration => preferences => lua set the shortcuts you want to use This plugin will provide shortcuts to save to and restore from up to five temporary buffers This plugin also provides a shortcut to swap the current selection with a quick-swap buffer selection-changed https://darktable-org.github.io/luadocs/lua.api.manual/events/selection-changed/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/selection-changed/ event This event is triggered whenever the selection of images changes 🔗selection-changed.callback function( event : string ) event - string - The name of the event that triggered the callback. 🔗selection-changed.extra registration parameters This event has no extra registration parameters. fujifilm_dynamic_range https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/fujifilm_dynamic_range/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/fujifilm_dynamic_range/ 🔗Name fujifilm_dynamic_range.lua - adjust darktable exposure by Fujifilm raw exposure bias 🔗Description Support for adjusting darktable exposure by Fujifilm raw exposure bias. This corrects for a DR100/DR200/DR400 “dynamic range” setting. Based upon fujifilm_ratings by Ben Mendis The relevant tag is RawExposureBias (0x9650). This appears to represent the shift in EV for the chosen DR setting (whether manual or automatic). Note that even at 100DR (“standard”) there is an EV shift: darktable.gui.libs.filter https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/filter/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/filter/ The image-filter menus at the top of the UI Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.filter.sort function( [sort : types.dt_collection_sort_t] ) : types.dt_collection_sort_t Change the collection sort field. [sort] - types.dt_collection_sort_t - The new field to sort by. If empty the current sort field is unchanged return - types.dt_collection_sort_t = The current sort field. 🔗darktable.gui.libs.filter.sort_order function( [order : types.dt_collection_sort_order_t] ) : types.dt_collection_sort_order_t Change the collection sort order. darktable.gui.panel_show https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_show/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_show/ function( panel : types.dt_ui_panel_t ) Shows the specified panel. panel - types.dt_ui_panel_t - The panel to show. darktable.new_format https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.new_format/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.new_format/ function( type : string ) : types.dt_imageio_module_format_t Creates a new format object to export images type - string - The type of format object to create, one of : copy exr j2k jpeg pdf pfm png ppm tiff webp return - types.dt_imageio_module_format_t - The newly created object. Exact type depends on the type passed dt_imageio_j2k_preset_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_j2k_preset_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_j2k_preset_t/ enum J2K preset type Values: off cinema2k_24 cinema2k_48 cinema4k_24 fujifilm_ratings https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/fujifilm_ratings/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/fujifilm_ratings/ 🔗Name fujifilm_ratings.lua - support for importing Fujifilm in-camera ratings in darktable 🔗Description Support for importing Fujifilm in-camera ratings in darktable. 🔗Usage Start this script from script manager 🔗Additional Software Required exiftool (https://www.sno.phy.queensu.ca/~phil/exiftool/) 🔗Limitations 🔗Author Ben Mendis - ben.mendis@gmail.com 🔗Change Log get_executable_path_preference https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_executable_path_preference/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_executable_path_preference/ 🔗NAME get_executable_path_preference 🔗SYNOPSIS return the path to an executable from a preference 🔗USAGE local df = require "lib/dtutils.file" local result = df.get_executable_path_preference(executable) executable - string - the name of the executable to get the path for 🔗DESCRIPTION get_executable_path_preference returns the path preference to the requested executable. 🔗RETURN VALUE result - string - path to the executable 🔗LIMITATIONS executable should be the basename of the executable without extensions running_os https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/running_os/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/examples/running_os/ 🔗Name running_os.lua - prints the operating system 🔗Description prints the operating system 🔗Usage start this script from script manager 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs 🔗Change Log selection_to_pdf https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/selection_to_pdf/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/official/selection_to_pdf/ 🔗Name selection_to_pdf.lua - generate a PDF file (via Latex) containing all selected images 🔗Description Generates a PDF file (via Latex) containing all selected images This plugin will add a new exporter that will allow you to generate the pdf file Plugin allows you to choose how many thumbnails you need per row 🔗Usage start this script from script manager 🔗Additional Software Required a PDF-Viewer pdflatex (Latex) 🔗Limitations 🔗Author Jérémy Rosen & Pascal Obry shortcut https://darktable-org.github.io/luadocs/lua.api.manual/events/shortcut/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/shortcut/ event This event registers a new keyboard shortcut. The shortcut isn’t bound to any key until the users does so in the preference panel. The event is triggered whenever the shortcut is triggered. This event can only be registered once per value of shortcut. 🔗shortcut.callback function( event : string, shortcut : string ) event - string - The name of the event that triggered the callback. shortcut - string - The tooltip string that was given at registration time. darktable.gui.libs.geotagging https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/geotagging/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/geotagging/ The geotagging time synchronisation UI Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.panel_show_all https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_show_all/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_show_all/ function( ) Show all panels. darktable.new_storage https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.new_storage/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.new_storage/ function( type : string ) : types.dt_imageio_module_storage_t Creates a new storage object to export images. type - string - The type of storage object to create, one of: disk email gallery latex piwigo (Other, lua-defined, storage types may appear.) return - [types.dt_imageio_module_storage_t(../../types/dt_imageio_module_storage_t)] - The newly created object. Exact type depends on the type passed dt_imageio_module_format_data_copy https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_copy/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_copy/ dt_type Type object describing parameters to export to copy. Attributes: parent : types.dt_imageio_module_format_t geoJSON_export https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geojson_export/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geojson_export/ 🔗Name geoJSON_export.lua - export a geoJSON file from selected images 🔗Description darktable geoJSON export script 🔗Usage start this script using script manager 🔗Additional Software Required mkdir convert (ImageMagick) xdg-open xdg-user-dir 🔗Limitations This script is only tested with Linux 🔗Author Tobias Jakobs 🔗Change Log get_filename https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filename/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filename/ 🔗NAME get_filename 🔗SYNOPSIS get the filename and extension from a file path 🔗USAGE local df = require "lib/dtutils.file" local result = df.get_filename(filepath) filepath - string - path and filename 🔗DESCRIPTION get_filename strips the path from a filepath and returns the filename 🔗RETURN VALUE result - string - the file name and type view_changed https://darktable-org.github.io/luadocs/lua.api.manual/events/view-changed/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/events/view-changed/ event This event is triggered after the user changed the active view #view-changed.callback function( event : string, old_view : types.dt_lua_view_t, new_view : types.dt_lua_view_t ) event - string - The name of the event that triggered the callback. old_view - types.dt_lua_view_t - The view that we just left new_view - types.dt_lua_view_t - The view we are now in #view-changed.extra registration parameters This event has no extra registration parameters. darktable.gui.libs.global_toolbox https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/global_toolbox/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/global_toolbox/ The common tools to all view (settings, grouping…) Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.global_toolbox.grouping boolean- The current status of the image grouping option Attributes: write 🔗darktable.gui.libs.global_toolbox.show_overlays boolean - the current status of the image overlays option Attributes: write darktable.gui.panel_visible https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_visible/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/panel_visible/ function( panel : types.dt_ui_panel_t ) : boolean Determines if the specified panel is visible. panel - types.dt_ui_panel_t - The panel to check. return - boolean - true if the panel is visible, false if not darktable.new_widget https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.new_widget/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.new_widget/ function( type : string, ... : variable ) : types.lua_widget Creates a new widget object to display in the UI. type - string - The type of storage object to create, one of: box button check_button combobox container entry file_chooser_button label section_label separator slider stack text_view … - variable - Extra parameters, exact value are documented with each type return - types.lua_widget - The newly created object. dt_imageio_module_format_data_exr https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_exr/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_exr/ dt_type Type object describing parameters to export to exr. Attributes: parent : types.dt_imageio_module_format_t 🔗dt_imageio_module_format_data_exr.compression string The compression parameter to use when exporting. Attributes: write geoToolbox https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geotoolbox/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/geotoolbox/ 🔗Name geoToolbox.lua - a module of geo tools 🔗Description it creates a new geoToolbox lighttable module 🔗Usage require this script from your main lua file To do this add this line to the file .config/darktable/luarc: require “geoToolbox” 🔗Additional Software Required 🔗Limitations 🔗Author Tobias Jakobs 🔗Change Log get_filetype https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filetype/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_filetype/ 🔗NAME get_filetype 🔗SYNOPSIS get the filetype from a filename 🔗USAGE local df = require "lib/dtutils.file" local result = df.get_filetype(filepath) filepath - string - path and filename 🔗DESCRIPTION get_filetype returns the filetype from the supplied filepath 🔗RETURN VALUE result - string - the filetype darktable.gui.libs.hinter https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/hinter/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/hinter/ The small line of text at the top of the UI showing the number of selected images Attributes: has_tostring parent : types.dt_lua_lib_t darktable.gui.selection https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/selection/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/selection/ function( [selection : table of types.dt_lua_image_t] ) : table of types.dt_lua_image_t Get or change the set of selected images. Attributes: implicit_yield [selection] - table of types.dt_lua_image_t - A table of images which will define the selected images. If this parameter is not given the selection will be untouched. If an empty table is given the selection will be emptied. return - table of types.dt_lua_image_t - A table containing the selection as it was before the function was called. darktable.password https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.password/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.password/ Store and retrieve credentials using the darktable password storage backend. 🔗darktable.password.save function( application : string, username : string, password : string ) :boolean Save a username/password pair for use accessing an application. application - string - Name of application or website. username - string - The username used to access the application or website. password - string - The credential used to authenticate the username. return - boolean - True if the credentials are saved, false if they are not. dt_imageio_module_format_data_j2k https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_j2k/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_j2k/ dt_type Type object describing parameters to export to jpeg2000. Attributes: parent : types.dt_imageio_module_format_t 🔗dt_imageio_module_format_data_j2k.quality number The quality to use at export time. Attributes: write 🔗dt_imageio_module_format_data_j2k.bpp number The bpp parameter to use when exporting. Attributes: write 🔗dt_imageio_module_format_data_j2k.format types.dt_imageio_j2k_format_t The format to use. Attributes: write 🔗dt_imageio_module_format_data_j2k.preset types.dt_imageio_j2k_preset_t The preset to use. Attributes: 62 write get_path https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_path/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/get_path/ 🔗NAME get_path 🔗SYNOPSIS get the path from a file path 🔗USAGE local df = require "lib/dtutils.file" local result = df.get_path(filepath) filepath - string - path and filename 🔗DESCRIPTION get_path strips the filename and filetype from a path and returns the path 🔗RETURN VALUE result - string - the path gimp https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gimp/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gimp/ 🔗Name gimp.lua - export and edit with GIMP 🔗Description This script provides another storage (export target) for darktable. Selected images are exported in the specified format to temporary storage. GIMP is launched and opens the files. After editing, the exported images are overwritten to save the changes. When GIMP exits, the exported files are moved into the current collection and imported into the database. The imported files then show up grouped with the originally selected images. darktable.gui.libs.histogram https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/histogram/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/histogram/ The histogram widget Attributes: has_tostring parent : types.dt_lua_lib_t darktable.preferences https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.preferences/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.preferences/ table Lua allows you to manipulate preferences. Lua has its own namespace for preferences and you can’t write normal darktable preferences. Preference handling functions take a script parameter. This is a string used to avoid name collision in preferences (i.e namespace). Set it to something unique, usually the name of the script handling the preference. Preference handling functions can’t guess the type of a parameter. You must pass the type of the preference you are handling. dt_imageio_module_format_data_jpeg https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_jpeg/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_jpeg/ dt_type Type object describing parameters to export to jpeg. Attributes: parent : types.dt_imageio_module_format_t 🔗dt_imageio_module_format_data_jpeg.quality number The quality to use at export time. Attributes: write gpx_export https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gpx_export/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/gpx_export/ 🔗Name gpx_export.lua - gpx exporter 🔗Description Simple darktable GPX generator script This script generates a GPX track from all images having GPS latitude and longitude information. For each source folder, a separate <trk> is generated in the gpx file. 🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author Jannis_V mkdir https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/mkdir/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/mkdir/ 🔗NAME mkdir 🔗SYNOPSIS create the directory(ies) if they do not already exist 🔗USAGE local df = require "lib/dtutils.file" df.mkdir(path) path - string - a directory path 🔗DESCRIPTION mkdir creates directories if they do not already exist. It creates parent directories if needed. 🔗RETURN VALUE path - string - a directory path darktable.gui.libs.history https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/history/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/history/ The history manipulation menu Attributes: has_tostring parent : types.dt_lua_lib_t darktable.print https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print/ function( message : string ) Will print a string to the darktable control log (the long overlaid window that appears over the main panel). message - string - The string to display which should be a single line. dt_imageio_module_format_data_pdf https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_pdf/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_pdf/ dt_type Type object describing parameters to export to pdf. Attributes: parent : types.dt_imageio_module_format_t 🔗dt_imageio_module_format_data_pdf.dpi number The dot per inch value to use at export Attributes: write 🔗dt_imageio_module_format_data_pdf.icc boolean Should the images be tagged with their embedded profile Attributes: write 🔗dt_imageio_module_format_data_pdf.border string Empty space around the PDF images Attributes: write 🔗dt_imageio_module_format_data_pdf.orientation string Orientation of the pages in the document Attributes: write 🔗dt_imageio_module_format_data_pdf. HDRMerge https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hdrmerge/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hdrmerge/ 🔗Name HDRMerge.lua - create an HDR image using HDRMerge 🔗Description This plugin adds the module ‘HDRMerge’ to darktable’s lighttable view 🔗Usage Start this script using script manager. On the initial startup go to darktable settings > lua options and set your executable paths and other preferences, then restart darktable Select bracketed images and press the Run HDRMerge button. The resulting DNG will be auto-imported into darktable. Additional tags or style can be applied on auto import as well, if you desire. rmdir https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/rmdir/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/rmdir/ 🔗NAME rmdir 🔗SYNOPSIS recursively remove a directory 🔗USAGE local df = require "lib/dtutils.file" df.rmdir(path) path - string - a directory path 🔗DESCRIPTION rmdir allows directories to be removed recursively. 🔗RETURN VALUE path - string - a directory path darktable.gui.libs.image https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/image/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/image/ The UI element that manipulates the current images Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.image.register_action function( name : string, label : string, callback : function, [tooltip : string] ) Add a new button and call a callback when it is clicked name - string - A unique name for the action that can be referenced later to destroy it label - string - The label to display on the button callback - function - The function to call when the button is pressed [tooltip] - string - The tooltip to use on the new button callback - darktable.print_error https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_error/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_error/ function( message : string ) This function is similar todarktable.print_log but adds an ERROR prefix for clarity. message - string - The string to display. dt_imageio_module_format_data_pfm https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_pfm/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_pfm/ dt_type Type object describing parameters to export to pfm. Attributes: parent : types.dt_imageio_module_format_t hugin https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hugin/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/hugin/ 🔗Name hugin.lua - stitch multiple images into a panorama 🔗Description Add a new storage option to send images to hugin. Images are exported to darktable tmp dir first. 🔗Usage start this script from script manager set the hugin tool paths (on some platforms) if hugin gui mode is used, save the final result in the tmp directory with the first file name and _pano as suffix for the image to be automatically imported to DT afterwards 🔗Additional Software Required hugin 🔗Limitations 🔗Author Wolfgang Goetz sanitize_filename https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/sanitize_filename/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/sanitize_filename/ 🔗NAME sanitize_filename 🔗SYNOPSIS make a filename safe to pass as an argument 🔗USAGE local df = require "lib/dtutils.file" local sanitized_filename = df.sanitize_filename(filename) filename - string - a filepath and filename 🔗DESCRIPTION sanitize_filename places quotes around the filename in an operating system specific manner. The result is safe to pass as an argument to the operating system. 🔗RETURN VALUE sanitized_filename - string - quoted filename darktable.print_hinter https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_hinter/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_hinter/ function( message : string ) Print a hint message to the darktable GUI. message - string - The string to display. darktable.gui.libs.import https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/import/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/import/ The buttons to start importing images Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.import.register_widget function( widget : types.lua_widget ) Add a widget in the option expander of the import dialog widget - types.lua_widget - The widget to add to the dialog. The reset callback of the widget will be called whenever the dialog is opened. darktable.print_log https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_log/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_log/ function( message : string ) This function will print its parameter if the Lua logdomain is activated. Start darktable with the "-d lua" command line option to enable the Lua logdomain. message - string - The string to display. dt_imageio_module_format_data_png https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_png/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_png/ dt_type Type object describing parameters to export to png. Attributes: parent : types.dt_imageio_module_format_t../types/dt_imageio_module_format_t 🔗dt_imageio_module_format_data_png.bpp number The bpp parameter to use when exporting. Attributes: write image_stack https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_stack/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_stack/ 🔗Name image_stack.lua - process a stack of images 🔗Description This script provides another storage (export target) for darktable. Selected images are exported in the specified format to temporary storage. The images are aligned if the user requests it. When the images are ready, imagemagick is launched and uses the selected evaluate-sequence operator to process the images. The output file is written to a filename representing the input files in the format specified by the user. set_executable_path_preference https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/set_executable_path_preference/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/set_executable_path_preference/ 🔗NAME set_executable_path_preference 🔗SYNOPSIS set a preference for the path to an executable 🔗USAGE local df = require "lib/dtutils.file" df.set_executable_path_preference(executable, path) executable - string - the name of the executable to set the path for path - string - the path to the binary 🔗DESCRIPTION set_executable_path_preference takes an executable name and path to the executable and registers the preference for later use. darktable.print_toast https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_toast/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.print_toast/ function( message : string ) Print a toast message to the darktable GUI. message - string - The string to display. darktable.gui.libs.lighttable_mode https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/lighttable_mode/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/lighttable_mode/ The navigation and zoom level UI in lighttable Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.lighttable_mode.layout function( [layout : types.dt_lighttable_layout_t] ) : types.dt_lighttable_layout_t Change the lighttable layout. [layout] - types.dt_lighttable_layout_t - The layout to switch to. If empty the current layout is unchanged return - types.dt_lighttable_layout_t - the current layout 🔗darktable.gui.libs.lighttable_mode.zoom_level function( [level : int] ) : int Change the lighttable zoom level. [level] - int - The zoom level to switch to. darktable.register_event https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.register_event/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.register_event/ function( event_name : string, event_type : string, callback : function, ... : variable ) This function registers a callback to be called when a given event happens. Events are documented in the event section. event_name - string - The name of the event used to manipulate the event. The combination of event_name and event_type must be unique. event_type - string - The name of the event to register to. callback - function - The function to call on event. dt_imageio_module_format_data_ppm https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_ppm/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_ppm/ dt_type Type object describing parameters to export to ppm. Attributes: parent : types.dt_imageio_module_format_t image_time https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_time/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/image_time/ 🔗Name image_time.lua - synchronize image time for images shot with different cameras 🔗Description image_time non destructively adjusts image times by modifying the database image exif_datetime_taken field. There are 4 modes: adjust time, set time, synchronize time, and reset time. 🔗ADJUST TIME adjust time mode lets you chose an offset in terms of years, months, days, hours, minutes, and seconds. The adjustment can be added or subtracted. WARNING: When adding and subtracting months the result will usually be what is expected unless the time being adjusted is at the end of the month. split_filepath https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/split_filepath/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/split_filepath/ 🔗NAME split_filepath 🔗SYNOPSIS split a filepath into parts 🔗USAGE local df = require "lib/dtutils.file" local result = df.split_filepath(filepath) filepath - string - path and filename 🔗DESCRIPTION split_filepath splits a filepath into the path, filename, basename and filetype and puts that in a table 🔗RETURN VALUE result - table - a table containing the path, filename, basename, and filetype darktable.destroy_event https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.destroy_event/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.destroy_event/ function( event_name : string, event_type : string, ) This function removes the callback registered by darktable.register_event. Events are documented in the event section. event_name - string - The name of the event used to manipulate the event. The combination of event_name and event_type must be unique. event_type - string - The name of the event to register to. darktable.gui.libs.live_view https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/live_view/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/live_view/ The liveview window Attributes: has_tostring parent : types.dt_lua_lib_t darktable.register_lib https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.register_lib/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.register_lib/ function( plugin_name : string, name : string, expandable : boolean, resettable : boolean, containers : table of types.dt_lua_view_t => [ types.dt_ui_container_t, int ], widget : types.lua_widget, view_enter : function, view_leave : function ) Register a new lib object. A lib is a graphical element of darktable’s user interface plugin_name - string - A unique name for your library name - string - A user-visible name for your library expandable - boolean - whether this lib should be expandable or not resettable - boolean - whether this lib has a reset button or not containers - table of types. dt_imageio_module_format_data_tiff https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_tiff/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_tiff/ dt_type Type object describing parameters to export to tiff. Attributes: parent : types.dt_imageio_module_format_t 🔗dt_imageio_module_format_data_tiff.bpp number The bpp parameter to use when exporting. Attributes: write kml_export https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/kml_export/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/kml_export/ 🔗Name kml_export.lua - export a kml file from selected images 🔗Description darktable KML export script 🔗Usage start this script from script manager when choosing file format, pick JPEG or PNG as Google Earth doesn’t support other formats 🔗Additional Software Required zip (at the moment Linux only and only if you create KMZ files) magick (ImageMagick) xdg-user-dir (Linux) 🔗Limitations This script is only tested with Linux 🔗Author Tobias Jakobs test_file https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/test_file/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.api.manual/dtutils.file/test_file/ 🔗NAME test_file 🔗SYNOPSIS test a file to see what it is 🔗USAGE local df = require "lib/dtutils.file" local result = df.test_file(path, test) path - string - path and filename test - char - one of d, e, f, x where d - directory e - exists f - file x - executable 🔗DESCRIPTION test_file checks a specified path to see if it meets the specified test 🔗RETURN VALUE result - boolean - true if the path satisfies the test, false if not darktable.gui.libs.location https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/location/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/location/ The location ui Attributes: has_tostring parent : types.dt_lua_lib_t darktable.register_storage https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.register_storage/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.register_storage/ function( plugin_name : string, name : string, [store : function], [finalize : function], [supported : function], [initialize : function], [widget : types.lua_widget] ) This function will add a new storage implemented in Lua. A storage is a module that is responsible for handling images once they have been generated during export. Examples of core storages include filesystem, e-mail, pwigo… plugin_name - string - A unique name for the plugin. name - string - A human readable name for the plugin. dt_imageio_module_format_data_webp https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_webp/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_data_webp/ dt_type Type object describing parameters to export to webp. Attributes: parent : types.dt_imageio_module_format_t 🔗dt_imageio_module_format_data_webp.quality number The quality to use at export time. Attributes: write 🔗dt_imageio_module_format_data_webp.comp_type types.comp_type_t The overall quality to use; can be one of “webp_lossy” or “webp_lossless”. Attributes: write 🔗dt_imageio_module_format_data_webp.hint types.hint_t A hint on the overall content of the image. Attributes: write LabelsToTags https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/labelstotags/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/labelstotags/ 🔗Name LabelsToTags.lua - mass apply tags to images 🔗Description Allows the mass-application of tags using color labels and ratings as a guide. 🔗Usage In your ‘luarc’ file or elsewhere, use the function ‘register_tag_mapping’, defined in this module, to specify one or more tag mappings for use by the module. Any mappings so registered will be selectable, according to their given names, in the module’s “mapping” combo box. A mapping takes the form of a table mapping patterns to lists of tags. darktable.destroy_storage https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.destroy_storage/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.destroy_storage/ function( plugin_name : string ) This function will destroy a storage created by darktable.register_storage. plugin_name - string - The name of the plugin to destroy. darktable.gui.libs.map_settings https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/map_settings/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/map_settings/ The map setting window Attributes: has_tostring parent : types.dt_lua_lib_t darktable.styles https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.styles/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.styles/ This pseudo table allows you to access and manipulate styles. 🔗darktable.styles.# types.dt_style_t Each existing style has a numeric index; you can iterate them using ipairs. 🔗darktable.styles.create function( image : types.dt_lua_image_t, name : string, description : string ) : types.dt_style_t Create a new style based on an image. image - types.dt_lua_image_t - The image to create the style from. name - string - The name to give to the new style. dt_imageio_module_format_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_format_t/ dt_type A virtual type representing all format types. 🔗dt_imageio_module_format_t.plugin_name string A unique name for the plugin. 🔗dt_imageio_module_format_t.name string A human readable name for the plugin. 🔗dt_imageio_module_format_t.extension string The typical filename extension for that format. 🔗dt_imageio_module_format_t.mime string The mime type associated with the format. 🔗dt_imageio_module_format_t.max_width number The max width allowed for the format (0 = unlimited). Attributes: write 🔗dt_imageio_module_format_t.max_height number The max height allowed for the format (0 = unlimited). OpenInExplorer https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/openinexplorer/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/openinexplorer/ 🔗Name OpenInExplorer.lua - open an images containing folder 🔗Description This plugin adds the module “OpenInExplorer” to darktable’s lighttable view. 🔗Usage Require this file in your luarc file, as with any other dt plug-in Select the photo(s) you wish to find in your operating system’s file manager and press “show in file explorer” in the “selected images” section. Nautilus (Linux), Explorer (Windows), and Finder (macOS prior to Mojave) will open one window for each selected image at the file’s location. darktable.gui.libs.masks https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/masks/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/masks/ The masks window Attributes: has_tostring parent : types.dt_lua_lib_t darktable.tags https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.tags/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.tags/ Allows access to all existing tags. 🔗darktable.tags.# types.dt_lua_tag_t Each existing tag has a numeric entry in the tags table - use ipairs to iterate over them. 🔗darktable.tags.create function( name : string ) Creates a new tag and return it. If the tag exists return the existing tag. name - string - The name of the new tag. 🔗darktable.tags.find function( name : string ) : types.dt_lua_tag_t Returns the tag object or nil if the tag doesn’t exist. dt_imageio_module_storage_data_disk https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_disk/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_disk/ dt_type An object containing parameters to export to disk. Attributes: parent : types.dt_imageio_module_storage_t 🔗dt_imageio_module_storage_data_disk.filename string The filename to export to. Attributes: write passport_guide https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/passport_guide/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/passport_guide/ 🔗Name 🔗Description guides for cropping passport photos based on documents from the Finnish police (https://www.poliisi.fi/instancedata/prime_product_julkaisu/intermin/embeds/poliisiwwwstructure/38462_Passikuvaohje_EN.pdf) describing passport photo dimensions of 47x36 mm and 500x653 px for digital biometric data stored in passports. They use ISO 19794-5 standard based on ICAO 9303 regulations which should also be compliant for all of Europe. 🔗Usage add the following line in the file $CONFIGDIR/luarc require “passport_guide” (optional) add the line: “plugins/darkroom/clipping/extra_aspect_ratios/passport 36x47mm=47:36” to $CONFIGDIR/darktablerc when using the cropping tool, select “passport” as guide and if you added the line in your luarc select “passport 36x47mm” as aspect 🔗Additional Software Required 🔗Limitations 🔗Author KÃ¥re Hampf darktable.gui.libs.metadata https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/metadata/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/metadata/ The widget allowing modification of metadata fields on the current image Attributes: has_tostring parent : types.dt_lua_lib_t dt_imageio_module_storage_data_email https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_email/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_email/ dt_type An object containing parameters to export to email. Attributes: parent : types.dt_imageio_module_storage_t pdf_slideshow https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/pdf_slideshow/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/pdf_slideshow/ 🔗Name pdf_slideshow.lua - generate a pdf slideshow 🔗Description Generates a PDF slideshow (via Latex) containing all selected images one per slide. 🔗Usage start this script from script manager This plugin will add a new exporter that will allow you to generate a pdf slideshow. The interface will let you add: a global title for the slideshow (prefix in all slide label) a delay for the transition between each slide Each slide will contain a single picture with a label at the bottom with the format (all fields can be the empty string): darktable.gui.libs.metadata_view https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/metadata_view/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/metadata_view/ The widget displaying metadata about the current image Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.metadata_view.register_info function( name : string, callback : function ) Register a field in the image information module with a callback function to update the field name - string - The name displayed for the new information callback - function - The function providing the info callback - function( image : types.dt_lua_image_t ) : string image - types. dt_imageio_module_storage_data_gallery https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_gallery/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_gallery/ dt_type An object containing parameters to export to gallery. Attributes: parent : types.dt_imageio_module_storage_t 🔗dt_imageio_module_storage_data_gallery.filename string The filename to export to. Attributes: write 🔗dt_imageio_module_storage_data_gallery.title string The title to use for export. Attributes: write photils https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/photils/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/photils/ 🔗Name photils.lua - auto tag images based on feature recognition 🔗Description A darktable plugin that tries to predict keywords based on the selected image. This plugin uses photils-cli to handle this task. Photils-cli is an application that passes the image through a neural network, classifies it, and extracts the suggested tags. Everything happens offline without the need that your data are sent over the internet. 🔗Usage start this script from script manager Select an image Press “get tags” Select the tags you want from a list of suggestions Press “Attach . darktable.gui.libs.modulegroups https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/modulegroups/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/modulegroups/ The icons describing the different iop groups Attributes: has_tostring parent : types.dt_lua_lib_t dt_imageio_module_storage_data_latex https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_latex/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_latex/ dt_type An object containing parameters to export to latex. Attributes: parent : types.dt_imageio_module_storage_t 🔗dt_imageio_module_storage_data_latex.filename string The filename to export to. Attributes: write 🔗dt_imageio_module_storage_data_latex.title string The title to use for export. Attributes: write quicktag https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/quicktag/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/quicktag/ 🔗Name quicktag.lua - add shortcuts to speed up tagging 🔗Description For faster attaching your favorite tags, the script adds shortcuts and the module “quicktag” in lighttable mode with a changeable number of buttons. A tag can be assigned to each button. If the tags do not exist in your database, they are added to the database the first time they are attached to an image. The number of buttons/shortcuts can be changed in the lua preferences. darktable.gui.libs.module_toolbox https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/module_toolbox/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/module_toolbox/ The tools on the bottom line of the UI (overexposure) Attributes: has_tostring parent : types.dt_lua_lib_t dt_imageio_module_storage_data_piwigo https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_piwigo/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_data_piwigo/ dt_type An object containing parameters to export to piwigo. Attributes: parent : types.dt_imageio_module_storage_t rate_group https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rate_group/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rate_group/ 🔗Name rate_group.lua - rate groups of images 🔗Description Provide shortcuts for rating or rejecting all images within a group; particularly useful for RAW+JPEG shooters employing a star rating workflow like the below: http://blog.chasejarvis.com/blog/2011/03/photo-editing-101/ 🔗Usage Assign a keyboard shortcut to each action via settings > shortcuts > lua I use the following shortcuts: Reject group: Ctrl+R Rate group 1: Ctrl+1 Rate group 2: Ctrl+2 Rate group 3: Ctrl+3 Rate group 4: Ctrl+4 Rate group 5: Ctrl+5 Rate group 0: Ctrl+0 🔗Additional Software Required 🔗Limitations 🔗Author Dom H - dom@hxy. rename_images https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rename_images/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rename_images/ 🔗Name rename_images.lua - rename one or more image files 🔗Description Rename an image or images according to a pattern built by the user. It is possible to specify a different directory in the rename pattern, which will result in a move as well as a rename. The database will be updated to reflect the new name/location of the image. 🔗Usage require this script from your luarc file or start it from script_manager select an image or images enter a renaming pattern click the button to rename the files 🔗Additional Software Required 🔗Limitations 🔗Author Bill Ferguson - wpferguson@gmail. darktable.gui.libs.navigation https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/navigation/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/navigation/ The full image preview to allow navigation Attributes: has_tostring parent : types.dt_lua_lib_t dt_imageio_module_storage_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_imageio_module_storage_t/ dt_type A virtual type representing all storage types. 🔗dt_imageio_module_storage_t.plugin_name string A unique name for the plugin. Attributes: write 🔗dt_imageio_module_storage_t.name string A human readable name for the plugin. Attributes: write 🔗dt_imageio_module_storage_t.width number The currently selected width for the plugin. Attributes: write 🔗dt_imageio_module_storage_t.height number The currently selected height for the plugin. Attributes: write 🔗dt_imageio_module_storage_t.recommended_width number The recommended width for the plugin. Attributes: write 🔗dt_imageio_module_storage_t. rename_tags https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rename-tags/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rename-tags/ 🔗Name rename-tags.lua - rename tags 🔗Description 🔗Usage In lighttable there is a new entry: ‘rename tag’ Enter old tag (this one gets deleted!) Enter new tag name 🔗Additional Software Required 🔗Limitations 🔗Author Sebastian Witt - se.witt@gmx.net Bill Ferguson - wpferguson@gmail.com 🔗Deprecation This functionality now exists in core darktable so this script will be removed when darktable 4.0 is released. darktable.gui.libs.print_settings https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/print_settings/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/print_settings/ The settings window in the print view Attributes: has_tostring parent : types.dt_lua_lib_t dt_lib_collect_mode_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lib_collect_mode_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lib_collect_mode_t/ enum The logical operators to apply between rulesAttributes: Values: DT_LIB_COLLECT_MODE_AND DT_LIB_COLLECT_MODE_OR DT_LIB_COLLECT_MODE_AND_NOT RL_out_sharp https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rl_out_sharp/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/rl_out_sharp/ 🔗Name RL_out_sharp.lua - Richardson-Lucy output sharpening using GMic 🔗Description This script provides a new target storage “RL output sharpen”. Images exported will be sharpened using GMic (RL deblur algorithm) 🔗EXAMPLE set sigma = 0.7, iterations = 10, jpeg output quality = 95, to correct blur due to image resize for web usage 🔗Usage start this script from script manager in lua preferences, select the GMic cli executable from “export selected”, choose “RL output sharpen” configure output folder configure RL parameters with sliders configure temp files format and quality, jpg 8bpp (good quality) and tif 16bpp (best quality) are supported configure other export options (size, etc. darktable.gui.libs.ratings https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/ratings/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/ratings/ The stars to set the rating of an image Attributes: has_tostring parent : types.dt_lua_lib_t dt_lib_collect_params_rule_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lib_collect_params_rule_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lib_collect_params_rule_t/ dt_type A single rule for filtering a collection 🔗dt_lib_collect_params_rule_t.mode types.dt_lib_collect_mode_t How this rule is applied after the previous one. Unused for the first rule Attributes: write 🔗dt_lib_collect_params_rule_t.data string The text segment of the rule. Exact content depends on the type of rule Attributes: write 🔗dt_lib_collect_params_rule_t.item types.dt_collection_properties_t The item on which this rule filter. i.e the type of the rule Attributes: write select_untagged https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/select_untagged/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/select_untagged/ 🔗Name select_untagged.lua - select all images that aren’t tagged 🔗Description Enable selection of untagged images (darktable|* tags are ignored) 🔗Usage 🔗Additional Software Required 🔗Limitations 🔗Author Jannis_V darktable.gui.libs.recentcollect https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/recentcollect/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/recentcollect/ The recent collection UI element Attributes: has_tostring parent : types.dt_lua_lib_t dt_lighttable_layout_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lighttable_layout_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lighttable_layout_t/ enum The different lighttable layouts Values: DT_LIGHTTABLE_LAYOUT_FIRST DT_LIGHTTABLE_LAYOUT_ZOOMABLE DT_LIGHTTABLE_LAYOUT_FILEMANAGER DT_LIGHTTABLE_LAYOUT_CULLING DT_LIGHTTABLE_LAYOUT_CULLING_DYNAMIC DT_LIGHTTABLE_LAYOUT_PREVIEW DT_LIGHTTABLE_LAYOUT_LAST slideshowMusic https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/slideshowmusic/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/slideshowmusic/ 🔗Name slideshowMusic.lua - play music during a slideshow 🔗Description darktable script to play music during a Slideshow 🔗Usage start this script from script manager 🔗Additional Software Required You need rhythmbox-client installed to use this script 🔗Limitations 🔗Author Tobias Jakobs darktable.gui.libs.select https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/select/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/select/ The buttons that allow quickly changing the selection Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.select.register_selection function( name : string label : string, callback : function, [tooltip : string] ) Add a new button and call a callback when it is clicked name - string - The name to use to refer to the select button label - string - The label to display on the button callback - function - The function to call when the button is pressed [tooltip] - string - The tooltip to use on the new button callback - dt_lua_align_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_align_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_align_t/ enum The alignment of a label Values: fill start end center baseline transfer_hierarchy https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/transfer_hierarchy/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/transfer_hierarchy/ 🔗Name transfer_hierarchy.lua - move or copy image hierarchies from one location to another 🔗Description Allows the moving or copying of images from one directory tree to another, while preserving the existing hierarchy. 🔗Usage darktable’s native operations for moving and copying images in batches allow only one directory to be specified as the destination for each batch. Those wanting to move or copy images from a hierarchy of directories within darktable while preserving the directory structure, must take the laborious step of performing the operation one individual directory at a time. darktable.gui.libs.session https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/session/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/session/ The session UI when tethering Attributes: has_tostring parent : types.dt_lua_lib_t dt_lua_backgroundjob_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_backgroundjob_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_backgroundjob_t/ dt_type A lua-managed entry in the backgroundjob lib 🔗dt_lua_backgroundjob_t.percent number The value of the progress bar, between 0 and 1. will return nil if there is no progress bar, will raise an error if read or written on an invalid job Attributes: write 🔗dt_lua_backgroundjob_t.valid boolean True if the job is displayed, set it to false to destroy the entry An invalid job cannot be made valid again Attributes: video_ffmpeg https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/video_ffmpeg/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.scripts.manual/scripts/contrib/video_ffmpeg/ 🔗Name video_ffmpeg.lua - create a timelapse video from selected images 🔗Description This plugin will add the new export module “video ffmpeg”. 🔗Usage Go to Lighttable Select images you want to use as a video ffmpeg frames In image export module select “video ffmpeg” Configure you video settings Export 🔗Additional Software Required ffmpeg 🔗Limitations This script has been tested under Linux only 🔗Author Dominik Markiewicz darktable.gui.libs.snapshots https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/snapshots/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/snapshots/ The UI element that manipulates snapshots in darkroom Attributes: has_tostring parent : types.dt_lua_lib_t 🔗darktable.gui.libs.snapshots.ratio number - The place in the screen where the line separating the snapshot is. Between 0 and 1 Attributes: write 🔗darktable.gui.libs.snapshots.direction types.snapshot_direction_t - The direction of the snapshot overlay Attributes: write 🔗darktable.gui.libs.snapshots.# types.dt_lua_snapshot_t - Each snapshot appears with a numerical index; you can iterate over them with ipairs. 🔗darktable.gui.libs.snapshots.selected types.dt_lua_snapshot_t - The currently selected snapshot dt_lua_cairo_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_cairo_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_cairo_t/ dt_type A wrapper around a cairo drawing context. You probably shouldn’t use this after the callback that got it passed returned. For more details of the member functions have a look at the cairo documentation for the drawing context, transformations and paths. 🔗dt_lua_cairo_t.save self:function( ) Save the state of the drawing context. self - types.dt_lua_cairo_t - The context to modify. 🔗types.dt_lua_cairo_t.restore self:function( ) Restore a previously saved state. darktable.gui.libs.styles https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/styles/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/styles/ The style selection menu Attributes: has_tostring parent : types.dt_lua_lib_t dt_lua_ellipsize_mode_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_ellipsize_mode_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_ellipsize_mode_t/ enum The ellipsize mode of a label Values: none start middle end darktable.gui.libs.tagging https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/tagging/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/tagging/ The tag manipulation UI Attributes: has_tostring parent : types.dt_lua_lib_t dt_lua_film_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_film_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_film_t/ dt_type A film in darktable; this represents a directory containing imported images. Attributes: has_tostring 🔗dt_lua_film_t.move_image see darktable.database.move_image 🔗dt_lua_film_t.copy_image see darktable.database.copy_image 🔗dt_lua_film_t.# types.dt_lua_image_t The different images within the film. 🔗dt_lua_film_t.id number A unique numeric id used by this film. Attributes: write 🔗dt_lua_film_t.path string The path represented by this film. Attributes: write 🔗dt_lua_film_t.delete self:function( [force : boolean] ) Removes the film from the database. self - types. darktable.gui.libs.viewswitcher https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/viewswitcher/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/viewswitcher/ The labels allowing to switch view Attributes: has_tostring parent : types.dt_lua_lib_t dt_lua_image_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_image_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_image_t/ dt_type Image objects represent an image in the database. This is slightly different from a file on disk since a file can have multiple developments. Note that this is the real image object; changing the value of a field will immediately change it in darktable and will be reflected on any copy of that image object you may have kept. Attributes: has_tostring 🔗dt_lua_image_t.attach_tag see darktable.tags.attach 🔗dt_lua_image_t.detach_tag see darktable.tags.detach darktable.gui.libs.view_toolbox https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/view_toolbox/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/gui/libs/view_toolbox/ The view_toolbox window Attributes: has_tostring parent : types.dt_lua_lib_t dt_lua_lib_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_lib_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_lib_t/ dt_type The type of a UI lib 🔗dt_lua_lib_t.id string A unit string identifying the lib 🔗dt_lua_lib_t.name string The translated title of the UI element 🔗dt_lua_lib_t.version number The version of the internal data of this lib 🔗dt_lua_lib_t.visible boolean Allow to make a lib module completely invisible to the user. Note that if the module is invisible the user will have no way to restore it without lua Attributes: implicit_yield write 🔗dt_lua_lib_t. dt_lua_orientation_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_orientation_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_orientation_t/ enum A possible orientation for a widget Values: horizontal vertical dt_lua_snapshot_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_snapshot_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_snapshot_t/ dt_type The description of a snapshot in the snapshot lib Attributes: has_tostring 🔗dt_lua_snapshot_t.filename string The filename of an image containing the snapshot 🔗dt_lua_snapshot_t.select self:function( ) Activates this snapshot on the display. To deactivate all snapshot you need to call this function on the active snapshot self - types.dt_lua_snapshot_t - The snapshot to activate 🔗dt_lua_snapshot_t.name string The name of the snapshot, as seen in the UI dt_lua_tag_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_tag_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_tag_t/ dt_type A tag that can be attached to an image. Attributes: has_tostring 🔗dt_lua_tag_t.delete see darktable.tags.delete 🔗dt_lua_tag_t.attach see darktable.tags.attach 🔗dt_lua_tag_t.detach see darktable.tags.detach 🔗dt_lua_tag_t.name string The name of the tag. 🔗dt_lua_tag_t.# types.dt_lua_image_t The images that have that tag attached to them. dt_lua_view_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_view_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_lua_view_t/ dt_type A darktable view 🔗dt_lua_view_t.id string A unique string identifying the view 🔗dt_lua_view_t.name string The name of the view dt_pdf_stream_encoder_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_pdf_stream_encoder_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_pdf_stream_encoder_t/ enum The compression mode for PDF document Values: uncompressed deflate dt_style_item_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_style_item_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_style_item_t/ dt_type An element that is part of a style. Attributes: has_tostring 🔗dt_style_item_t.name string The name of the style item. 🔗dt_style_item_t.num number The position of the style item within its style. dt_style_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_style_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_style_t/ dt_type A style that can be applied to an image. Attributes: has_tostring 🔗dt_style_t.delete see darktable.styles.delete 🔗dt_style_t.duplicate see darktable.styles.duplicate 🔗dt_style_t.apply see darktable.styles.apply 🔗dt_style_t.export see darktable.styles.export 🔗dt_style_t.name string The name of the style. 🔗dt_style_t.description string The description of the style. 🔗dt_style_t.# types.dt_style_item_t The different items that make the style. dt_ui_container_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_ui_container_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_ui_container_t/ enum A place in the darktable UI where a lib can be placed Values: DT_UI_CONTAINER_PANEL_LEFT_TOP DT_UI_CONTAINER_PANEL_LEFT_CENTER DT_UI_CONTAINER_PANEL_LEFT_BOTTOM DT_UI_CONTAINER_PANEL_RIGHT_TOP DT_UI_CONTAINER_PANEL_RIGHT_CENTER DT_UI_CONTAINER_PANEL_RIGHT_BOTTOM DT_UI_CONTAINER_PANEL_TOP_LEFT DT_UI_CONTAINER_PANEL_TOP_CENTER DT_UI_CONTAINER_PANEL_TOP_RIGHT DT_UI_CONTAINER_PANEL_CENTER_TOP_LEFT DT_UI_CONTAINER_PANEL_CENTER_TOP_CENTER DT_UI_CONTAINER_PANEL_CENTER_TOP_RIGHT DT_UI_CONTAINER_PANEL_CENTER_BOTTOM_LEFT DT_UI_CONTAINER_PANEL_CENTER_BOTTOM_CENTER DT_UI_CONTAINER_PANEL_CENTER_BOTTOM_RIGHT DT_UI_CONTAINER_PANEL_BOTTOM dt_ui_panel_t https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_ui_panel_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/dt_ui_panel_t/ enum The different user interface panels Values: DT_UI_PANEL_TOP DT_UI_PANEL_CENTER_TOP DT_UI_PANEL_CENTER_BOTTOM DT_UI_PANEL_LEFT DT_UI_PANEL_RIGHT DT_UI_PANEL_BOTTOM DT_UI_PANEL_SIZE hint_t https://darktable-org.github.io/luadocs/lua.api.manual/types/hint_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/hint_t/ enum a hint on the way to encode a webp image Values: hint_default hint_picture hint_photo hint_graphic lua_box https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_box/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_box/ dt_type A container for widget in a horizontal or vertical list Attributes: has_tostring parent : types.lua_widget 🔗lua_box.__call see types.lua_widget.As a function 🔗lua_box.extra registration parameters This widget has no extra registration parameters 🔗lua_box.orientation types.dt_lua_orientation_t The orientation of the box. Attributes: write lua_button https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_button/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_button/ dt_type A clickable button Attributes: has_tostring parent : types.lua_widget 🔗lua_button.__call see types.lua_widget.As a function 🔗lua_button.extra registration parameters This widget has no extra registration parameters 🔗lua_button.label string The label displayed on the button Attributes: write 🔗lua_button.ellipsize types.dt_lua_ellipsize_mode_t The ellipsize mode of the button label Attributes: write 🔗lua_button.clicked_callback function( widget : types.lua_widget ) A function to call on button click widget - types.lua_widget - The widget that triggered the callback Attributes: lua_check_button https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_check_button/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_check_button/ dt_type A checkable button with a label next to it Attributes: has_tostring parent : types.lua_widget 🔗lua_check_button.__call see types.lua_widget.As a function 🔗lua_check_button.extra registration parameters This widget has no extra registration parameters 🔗lua_check_button.label string The label displayed next to the button Attributes: write 🔗lua_check_button.value boolean If the widget is checked or not Attributes: write 🔗lua_check_button.clicked_callback function( widget : types.lua_widget ) A function to call on button click lua_combobox https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_combobox/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_combobox/ dt_type A widget with multiple text entries in a menu. This widget can be set as editable at construction time. If it is editable the user can type a value and is not constrained by the values in the menu. Attributes: has_tostring parent : types.lua_widget 🔗lua_combobox.__call see types.lua_widget.As a function 🔗lua_combobox.extra registration parameters This widget has no extra registration parameters 🔗lua_combobox.value string The text content of the selected entry, can be nil. lua_container https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_container/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_container/ dt_type A widget containing other widgets Attributes: has_tostring parent : types.lua_widget 🔗lua_container.__call see types.lua_widget.As a function 🔗lua_container.extra registration parameters This widget has no extra registration parameters 🔗lua_container.# types.lua_widget The widgets contained by the box. You can append widgets by adding them at the end of the list. You can remove widgets by setting them to nil. Attributes: write lua_entry https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_entry/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_entry/ dt_type A widget in which the user can input text Attributes: has_tostring parent : types.lua_widget 🔗lua_entry.__call see types.lua_widget.As a function 🔗lua_entry.extra registration parameters This widget has no extra registration parameters 🔗lua_entry.text string The content of the entry Attributes: write 🔗lua_entry.placeholder string The text to display when the entry is empty Attributes: write 🔗lua_entry.is_password boolean True if the text content should be hidden Attributes: write 🔗lua_entry. lua_file_chooser_button https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_file_chooser_button/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_file_chooser_button/ dt_type A button that allows the user to select an existing file Attributes: has_tostring parent : types.lua_widget 🔗lua_file_chooser_button.__call see types.lua_widget.As a function 🔗lua_file_chooser_button.extra registration parameters This widget has no extra registration parameters 🔗lua_file_chooser_button.title string The title of the window when choosing a file Attributes: write 🔗lua_file_chooser_button.value string The currently selected file Attributes: write 🔗lua_file_chooser_button.changed_callback function( widget : types.lua_widget ) A function to call when the value field changes (character entered or value selected) lua_label https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_label/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_label/ dt_type A label containing some text Attributes: has_tostring parent : types.lua_widget 🔗lua_label.__call see types.lua_widget.As a function 🔗lua_label.extra registration parameters This widget has no extra registration parameters 🔗lua_label.label string The label displayed Attributes: write 🔗lua_label.selectable boolean True if the label content should be selectable Attributes: write 🔗lua_label.halign types.dt_lua_align_t The horizontal alignment of the label Attributes: write 🔗lua_label.ellipsize types.dt_lua_ellipsize_mode_t The ellipsize mode of the label lua_os_type https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_os_type/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_os_type/ enum The type of OS we darktable can run on Values : windows macos linux unix lua_pref_type https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_pref_type/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_pref_type/ enum The type of value to save in a preference Values: enum directory file string bool integer float lua lua_section_label https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_section_label/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_section_label/ dt_type A section label Attributes: has_tostring parent : types.lua_widget 🔗lua_section_label.__call see types.lua_widget.As a function 🔗types.lua_section_label.extra registration parameters This widget has no extra registration parameters 🔗lua_section_label.label string The section name Attributes: write lua_separator https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_separator/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_separator/ dt_type A widget providing a separation in the UI. Attributes: has_tostring parent : types.lua_widget 🔗lua_separator.__call see types.lua_widget.As a function 🔗lua_separator.extra registration parameters This widget has no extra registration parameters 🔗lua_separator.orientation string The orientation of the separator. Attributes: write lua_slider https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_slider/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_slider/ dt_type A slider that can be set by the user Attributes: has_tostring parent : types.lua_widget 🔗lua_slider.__call see types.lua_widget.As a function 🔗lua_slider.extra registration parameters This widget has no extra registration parameters 🔗lua_slider.soft_min number The soft minimum value for the slider, the slider can’t go beyond this point Attributes: write 🔗lua_slider.soft_max number The soft maximum value for the slider, the slider can’t go beyond this point Attributes: write 🔗lua_slider. lua_stack https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_stack/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_stack/ dt_type A container that will only show one of its child at a time Attributes: has_tostring parent : types.lua_widget 🔗lua_stack.__call see types.lua_widget.As a function 🔗lua_stack.extra registration parameters This widget has no extra registration parameters 🔗lua_stack.active types.lua_widget or nil The currently selected child, can be nil if the container has no child, can be set to one of the child widget or to an index in the child table lua_text_view https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_text_view/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_text_view/ dt_type A multiline text input widget Attributes: has_tostring parent : types.lua_widget 🔗lua_text_view.__call see types.lua_widget.As a function 🔗lua_text_view.extra registration parameters This widget has no extra registration parameters 🔗lua_text_view.text string The text in the widget Attributes: write 🔗lua_text_view.editable boolean False if the entry should be read-only Attributes: write lua_widget https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_widget/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/lua_widget/ dt_type Common parent type for all lua-handled widgets Attributes: has_tostring 🔗lua_widget.extra registration parameters This widget has no extra registration parameters 🔗lua_widget.name string or nil Name assigned to the widget for CSS styling purposes. Attributes: write 🔗lua_widget.sensitive boolean Set if the widget is enabled/disabled Attributes: write 🔗lua_widget.tooltip string or nil Tooltip to display for the widget Attributes: write 🔗lua_widget.visible boolean or nil Hide or show widget. snapshot_direction_t https://darktable-org.github.io/luadocs/lua.api.manual/types/snapshot_direction_t/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/types/snapshot_direction_t/ enum Which part of the main window is occupied by a snapshot Values: left right top bottom Search https://darktable-org.github.io/luadocs/search/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/search/