Home on darktable lua documentation https://darktable-org.github.io/luadocs/ Recent content in Home on darktable lua documentation Hugo -- gohugo.io en-us 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 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 currently used in darktable 3.4 is 6.1.0. 🔗Development API The Lua API is currently at version 6.2.0 in the development branch of darktable (currently 3.5). All changes for version 6.2.0 will be identified as such until version 6.2.0 is included in a darktable release. 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.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. 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. 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.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. 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 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: 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. 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 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 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. 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 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 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 . 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 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. 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. 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.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. 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_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 2.3.6. dt_imageio_module_format_t.max_height number The max height allowed for the format (0 = unlimited). 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 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 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. 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.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_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_type - string - The name of the event to register to. callback - function - The function to call on event. The signature of the function depends on the type of event. … - variable - Some events need extra parameters at registration time; these must be specified here. 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_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 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 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 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. 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.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 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 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/ 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.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. 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 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 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. 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 name 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. 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.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_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 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 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. 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 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_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 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 edit 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) 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. 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. 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.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_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 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. 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 darktable.gui https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.gui/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/darktable.gui/ 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.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. 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 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 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. 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 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_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 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 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_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 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.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). 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. 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. _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 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. 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.password https://darktable-org.github.io/luadocs/lua.api.manual/darktable/password/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/lua.api.manual/darktable/password/ 🔗Lua API 6.2.0 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. _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 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. 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 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 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.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.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. 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. 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.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. 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 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.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. 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 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.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. 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 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. 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 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. 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 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. 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): 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. 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 . 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. 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. 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. 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. 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. 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 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 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. 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: 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 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 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 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. 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 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 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 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 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 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 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 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 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 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 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 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 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_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 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 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 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 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_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 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 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. 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 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_LAST 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 Lua API 6.2.0 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.reset_callback function( widget : types. 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_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_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_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_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_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_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_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_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_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_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_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_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 Search https://darktable-org.github.io/luadocs/search/ Mon, 01 Jan 0001 00:00:00 +0000 https://darktable-org.github.io/luadocs/search/