split darktable.gui into multiple files to reduce the length

This commit is contained in:
wpferguson 2021-02-04 14:03:58 -05:00
parent 3187934c7d
commit 1e70be01aa
62 changed files with 1204 additions and 860 deletions

View file

@ -1,860 +0,0 @@
---
title: darktable.gui
id: darktable.gui
weight: 90
draft: false
author: "people"
---
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](../../types/dt_lua_image_t) on which the user expects UI actions to happen.
It is based on both the hovered image and the selection and is consistent with the way
darktable works.
It is recommended to use this table to implement Lua actions rather than [darktable.gui.hovered](#darktable.gui.hovered) or [darktable.gui.selection](#darktable.gui.selection) to be consistent with darktable's GUI.
# darktable.gui.hovered
`types.dt_lua_image_t`
The image under the cursor or nil if no image is hovered.
# darktable.gui.selection
```
function(
[selection : table of types.dt_lua_image_t]
) : table of types.dt_lua_image_t
```
Get or change the set of selected images.
Attributes: [implicit_yield](../Attributes#implicit_yield)
* **\[selection\]** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - A table of images which will define the selected images. If this parameter is not given
the selection will be untouched. If an empty table is given the selection will be emptied.
* **return** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - A table containing the selection as it was before the function was called.
# darktable.gui.current_view
```
function(
[view : types.dt_lua_view_t]
) : types.dt_lua_view_t
```
Get or change the current view.
* **\[view\]** - [_types.dt_lua_view_t](../../types/dt_lua_view_t)_ - The view to switch to. If empty the current view is unchanged
* **return** - [_types.dt_lua_view_t](../../types/dt_lua_view_t)_ - the current view
# darktable.gui.panel_visible
```
function(
panel : types.dt_ui_panel_t
) : boolean
```
Determines if the specified panel is visible.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to check.
* **return** - _boolean_ - true if the panel is visible, false if not
# darktable.gui.panel_hide
```
function(
panel : types.dt_ui_panel_t
)
```
Hides the specified panel.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to hide.
# darktable.gui.panel_show
```
function(
panel : types.dt_ui_panel_t
)
```
Shows the specified panel.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to show.
# darktable.gui.panel_hide_all
```
function(
)
```
Hide all panels.
# darktable.gui.panel_show_all
```
function(
)
```
Show all panels.
# darktable.gui.panel_get_size
```
function(
panel : types.dt_ui_panel_t
):int
```
Gets the size in pixels of the specified panel. This only works for the left, right, and bottom
panels.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to get the size of.
# darktable.gui.panel_set_size
```
function(
panel : types.dt_ui_panel_t
size : int
)
```
Sets the size in pixels of the specified panel. This only works for the left, right, and bottom
panels.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to set the size of.
* **size** - _int_ - The size to set the panel to.
# darktable.gui.create_job
```
function(
text : string,
[percentage : boolean],
[cancel_callback : function]
) : types.dt_lua_backgroundjob_t
```
Create a new progress_bar displayed in [darktable.gui.libs.backgroundjobs](#darktable.gui.libs.backgroundjobs)
* **text** - _string_ - The text to display in the job entry
* **\[percentage\]** - _boolean_ - Should a progress bar be displayed
* **\[cancel_callback\]** - _[function](#cancel_callback)_ - A function called when the cancel button for that job is pressed. Note: the job won't be destroyed automatically. You need to set [types.dt_lua_backgroundjob_t.valid](../../types/dt_lua_backgroundjob_t#valid) to false for that.
* **return** - _[types.dt_lua_backgroundjob_t](../../types/dt_lua_backgroundjob_t)_ - The newly created job object
## cancel_callback
```
function(
job : types.dt_lua_backgroundjob_t
)
```
* **job** - _[types.dt_lua_backgroundjob_t](../../types/dt_lua_backgroundjob_t)_ - The job who is being cancelled
# darktable.gui.views
The different views in darktable
## darktable.gui.views.map
The map view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#paren) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
### darktable.gui.views.map.latitude
* number - The latitude of the center of the map
Attributes:
* [write](../Attributes#write)
### darktable.gui.views.map.longitude
* number - The longitude of the center of the map
Attributes:
* [write](../Attributes#write)
### darktable.gui.views.map.zoom
* number - The current zoom level of the map
Attributes:
* [write](../Attributes#write)
## darktable.gui.views.darkroom
The darkroom view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
### darktable.gui.views.darkroom.display_image
```
function(
[image : types.dt_lua_image_t]
) : types.dt_lua_image_t
```
Display an image in darkroom view.
* **\[image\] - _[types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The image to be displayed. If the image is not given, nothing will be changed.
* **return** - _[types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The image currently displayed.
## darktable.gui.views.lighttable
The lighttable view
Attributes:
* [has_tostring](../../Attributes#has_tostring)
* [parent](../../Attributes#parent) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
### darktable.gui.views.lighttable.is_image_visible
```
function(
image : types.dt_lua_image_t
) : types.dt_lua_image_t
```
Check if the image is visible in lighttable view. The lighttable must be in file manager or
zoomable mode.
* **image** - _[types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The image to be checked.
* **return** - _boolean_ - True if the image is displayed. False if the image is partially displayed or not displayed.
### darktable.gui.views.lighttable.set_image_visible
```
function(
image : types.dt_lua_image_t
) : types.dt_lua_image_t
```
Set the image visible in lighttable view. The lighttable must be in file manager or zoomable
mode.
* **image** - _[types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The image to set visible.
* **return** - _int_ - An error is returned if no image is specified.
## darktable.gui.views.tethering
The tethering view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
## darktable.gui.views.slideshow
The slideshow view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
## darktable.gui.views.print
The print view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
# darktable.gui.libs
This table allows referencing all lib objects.
lib objects are the graphical blocks within each view.
To quickly figure out which lib is which, you can use the following code, which will make a
given lib blink.
```
local dt = require "darktable"
local tested_module="global_toolbox"
dt.gui.libs[tested_module].visible=false
dt.control.sleep(2000)
while true do
dt.gui.libs[tested_module].visible = not dt.gui.libs[tested_module].visible
dt.control.sleep(2000)
end
```
### darktable.gui.libs.snapshots
The UI element that manipulates snapshots in darkroom
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.snapshots.ratio
number - The place in the screen where the line separating the snapshot is. Between 0 and 1
Attributes:
* [write](../Attributes#write)
darktable.gui.libs.snapshots.direction
[types.snapshot_direction_t](../../types/snapshot_direction_t) - The direction of the snapshot overlay
Attributes:
* [write](../Attributes#write)
### darktable.gui.libs.snapshots.#
[types.snapshot_direction_t](../../types/snapshot_direction_t) - The different snapshots for the image
### darktable.gui.libs.snapshots.selected
[types.snapshot_direction_t](../../types/snapshot_direction_t) - The currently selected snapshot
### darktable.gui.libs.snapshots.take_snapshot
```
function(
)
```
Take a snapshot of the current image and add it to the UI
The snapshot file will be generated at the next redraw of the main window
### darktable.gui.libs.snapshots.max_snapshot
number - The maximum number of snapshots
## darktable.gui.libs.collect
The collection UI element that allows to filter images by collection
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.collect.filter
```
function(
[rules : array of types.dt_lib_collect_params_rule_t]
) : array oftypes.dt_lib_collect_params_rule_t
```
Get or change the list of visible images
Attributes:
* [implicit_yield](../Attributes#implicit_yield)
* **\[rules\]** - _array of [types.dt_lib_collect_params_rule_t](../../types/dt_lib_collect_params_rule_t)_ - A table of rules describing the filter. These rules will be applied after this call
* **return** - _array of [types.dt_lib_collect_params_rule_t](../../types/dt_lib_collect_params_rule_t)_ - The rules that were applied before this call.
### darktable.gui.libs.collect.new_rule
```
function(
) : types.dt_lib_collect_params_rule_t
```
Returns a newly created rule object
* **return** - _[types.dt_lib_collect_params_rule_t](../../types/dt_lib_collect_params_rule_t)_ - The newly created rule
## darktable.gui.libs.import
The buttons to start importing images
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.import.register_widget
```
function(
widget : types.lua_widget
)
```
Add a widget in the option expander of the import dialog
* **widget** - _[types.lua_widget](../../types/lua_widget)_ - The widget to add to the dialog. The reset callback of the widget will be called whenever the dialog is opened.
## darktable.gui.libs.styles
The style selection menu
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.metadata_view
The widget displaying metadata about the current image
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.metadata_view.register_info
```
function(
name : string,
callback : function
)
```
Register a field in the image information module with a callback function to update the field
* **name** - _string_ - The name displayed for the new information
* **callback** - _function_ - The function providing the info
callback -
```
function(
image : types.dt_lua_image_t
) : string
```
* **image** - _[types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The image to analyze
* **return** - _string_ - The extra information to display
### darktable.gui.libs.metadata_view.destroy_info
**lua API 6.2.0**
```
function(
name : string
)
```
Remove the named field from the image information module and it's associated callback
* **name** - _string_ - The name of the field, created by [darktable.gui.libs.metadata_view.register_info](#darktable.gui.libs.metadata_view.register_info), to remove
## darktable.gui.libs.metadata
The widget allowing modification of metadata fields on the current image
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.hinter
The small line of text at the top of the UI showing the number of selected images
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.filmstrip
The filmstrip at the bottom of some views
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.viewswitcher
The labels allowing to switch view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.darktable_label
The darktable logo in the upper left corner
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.tagging
The tag manipulation UI
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.geotagging
The geotagging time synchronisation UI
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.recentcollect
The recent collection UI element
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.global_toolbox
The common tools to all view \(settings, grouping...\)
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.global_toolbox.grouping
boolean- The current status of the image grouping option
Attributes:
* [write](../Attributes#write)
### darktable.gui.libs.global_toolbox.show_overlays
boolean - the current status of the image overlays option
Attributes:
* [write](../Attributes#write)
## darktable.gui.libs.filter
The image-filter menus at the top of the UI
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.filter.sort
```
function(
[sort : types.dt_collection_sort_t]
) : types.dt_collection_sort_t
```
Change the collection sort field.
* **\[sort\]** - _[types.dt_collection_sort_t](../../types/dt_collection_sort_t)_ - The new field to sort by. If empty the current sort field is unchanged
* **return** - _[types.dt_collection_sort_t](../../types/dt_collection_sort_t)_ = The current sort field.
### darktable.gui.libs.filter.sort_order
```
function(
[order : types.dt_collection_sort_order_t]
) : types.dt_collection_sort_order_t
```
Change the collection sort order.
* **\[order\]** - _[types.dt_collection_sort_order_t](../../types/dt_collection_sort_order_t)_ - The order to sort by. If empty the current sort order is unchanged.
* **return** - _[types.dt_collection_sort_order_t](../../types/dt_collection_sort_order_t)_ - The current sort order.
### darktable.gui.libs.filter.rating
```
function(
[rating : types.dt_collection_filter_t]
) : types.dt_collection_filter_t
```
Change the collection rating filter.
* **\[rating\]** - _[types.dt_collection_filter_t](../../types/dt_collection_filter_t)_ - The new rating field to filter by. If empty the current rating field is unchanged.
* **return** - [types.dt_collection_filter_t](../../types/dt_collection_filter_t) - The current rating field.
### darktable.gui.libs.filter.rating_comparator
```
function(
[comparator : types.dt_collection_rating_comperator_t]
) : types.dt_collection_rating_comperator_t
```
Change the collection filter comparison field.
* **\[comparator\]** - _[types.dt_collection_rating_comperator_t](../../types/dt_collection_rating_comperator_t)_ - The new comparison field to filter the rating by. If empty the current rating comparison field is unchanged
* **return** - _[types.dt_collection_rating_comperator_t](../../types/dt_collection_rating_comperator_t)_ - The current rating comparison field
## darktable.gui.libs.ratings
The stars to set the rating of an image
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.select
The buttons that allow to quickly change the selection
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.select.register_selection
```
function(
label : string,
callback : function,
[tooltip : string]
)
```
Add a new button and call a callback when it is clicked
* **label** - _string_ - The label to display on the button
* **callback** - _function_ - The function to call when the button is pressed
* **\[tooltip\]** - _string_ - The tooltip to use on the new button
callback -
```
function(
event : string,
images : table oftypes.dt_lua_image_t
) : table oftypes.dt_lua_image_t
```
The function to call when the button is pressed
* **event** - _string_ - The name of the button that was pressed
* **images** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The images in the current collection. This is the same content asdarktable.collection
* **return** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The images to set the selection to
## darktable.gui.libs.colorlabels
The color buttons that allow to set labels on an image
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.lighttable_mode
The navigation and zoom level UI in lighttable
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.lighttable_mode.layout
```
function(
[layout : types.dt_lighttable_layout_t]
) : types.dt_lighttable_layout_t
```
Change the lighttable layout.
* **\[layout\]** - _[types.dt_lighttable_layout_t](../../types/dt_lighttable_layout_t)_ - The layout to switch to. If empty the current layout is unchanged
* **return** - _[types.dt_lighttable_layout_t](../../types/dt_lighttable_layout_t)_ - the current layout
### darktable.gui.libs.lighttable_mode.zoom_level
```
function(
[level : int]
) : int
```
Change the lighttable zoom level.
* **\[level\]** - _int_ - The zoom level to switch to. If empty the current zoom level is unchanged
* **return** - _int_ - the current zoom level
## darktable.gui.libs.copy_history
The UI element that manipulates history
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.image
The UI element that manipulates the current images
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
### darktable.gui.libs.image.register_action
```
function(
label : string,
callback : function,
[tooltip : string]
)
```
Add a new button and call a callback when it is clicked
* **label** - _string_ - The label to display on the button
* **callback** - _function_ - The function to call when the button is pressed
* **\[tooltip\]** - _string_ - The tooltip to use on the new button
callback -
```
function(
event : string,
images : table oftypes.dt_lua_image_t
)
```
The function to call when the button is pressed
* **event** - _string_ - The name of the button that was pressed
* **images** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - The images to act on when the button was clicked
## darktable.gui.libs.modulegroups
The icons describing the different iop groups
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.module_toolbox
The tools on the bottom line of the UI (overexposure)
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.session
The session UI when tethering
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.histogram
The histogram widget
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.export
The export menu
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.history
The history manipulation menu
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.colorpicker
The colorpicker menu
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.navigation
The full image preview to allow navigation
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.masks
The masks window
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.view_toolbox
The view_toolbox window
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.live_view
The liveview window
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.map_settings
The map setting window
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.camera
The camera selection UI
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.location
The location ui
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.backgroundjobs
The window displaying the currently running jobs
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)
## darktable.gui.libs.print_settings
The settings window in the print view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../types/dt_lua_lib_t)

View file

@ -0,0 +1,7 @@
---
title: darktable.gui
id: darktable.gui
weight: 90
draft: false
author: "people"
---

View file

@ -0,0 +1,15 @@
---
title: darktable.gui.action_images
id: action_images
weight: 20
draft: false
author: "people"
---
\
`table`
A table of [types.dt_lua_image_t](../../types/dt_lua_image_t) on which the user expects UI actions to happen.
It is based on both the hovered image and the selection and is consistent with the way
darktable works.
It is recommended to use this table to implement Lua actions rather than [darktable.gui.hovered](hovered.md) or [darktable.gui.selection](selection.md) to be consistent with darktable's GUI.

View file

@ -0,0 +1,34 @@
---
title: darktable.gui.create_job
id: create_job
weight: 30
draft: false
author: "people"
---
```
function(
text : string,
[percentage : boolean],
[cancel_callback : function]
) : types.dt_lua_backgroundjob_t
```
Create a new progress_bar displayed in [darktable.gui.libs.backgroundjobs](#darktable.gui.libs.backgroundjobs)
* **text** - _string_ - The text to display in the job entry
* **\[percentage\]** - _boolean_ - Should a progress bar be displayed
* **\[cancel_callback\]** - _[function](#cancel_callback)_ - A function called when the cancel button for that job is pressed. Note: the job won't be destroyed automatically. You need to set [types.dt_lua_backgroundjob_t.valid](../../types/dt_lua_backgroundjob_t#valid) to false for that.
* **return** - _[types.dt_lua_backgroundjob_t](../../types/dt_lua_backgroundjob_t)_ - The newly created job object
## cancel_callback
```
function(
job : types.dt_lua_backgroundjob_t
)
```
* **job** - _[types.dt_lua_backgroundjob_t](../../types/dt_lua_backgroundjob_t)_ - The job who is being cancelled

View file

@ -0,0 +1,18 @@
---
title: darktable.gui.current_view
id: current_view
weight: 40
draft: false
author: "people"
---
```
function(
[view : types.dt_lua_view_t]
) : types.dt_lua_view_t
```
Get or change the current view.
* **\[view\]** - [_types.dt_lua_view_t](../../types/dt_lua_view_t)_ - The view to switch to. If empty the current view is unchanged
* **return** - [_types.dt_lua_view_t](../../types/dt_lua_view_t)_ - the current view

View file

@ -0,0 +1,11 @@
---
title: darktable.gui.hovered
id: hovered
weight: 50
draft: false
author: "people"
---
`types.dt_lua_image_t`
The image under the cursor or nil if no image is hovered.

View file

@ -0,0 +1,7 @@
---
title: darktable.gui.libs
id: libs
weight: 60
draft: false
author: "people"
---

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.backgroundjobs
id: backgroupjobs
weight: 20
draft: false
author: "people"
---
The window displaying the currently running jobs
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.camera
id: camera
weight: 30
draft: false
author: "people"
---
The camera selection UI
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,40 @@
---
title: darktable.gui.libs.collect
id: collect
weight: 40
draft: false
author: "people"
---
The collection UI element that allows to filter images by collection
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.collect.filter
```
function(
[rules : array of types.dt_lib_collect_params_rule_t]
) : array oftypes.dt_lib_collect_params_rule_t
```
Get or change the list of visible images
Attributes:
* [implicit_yield](../../../Attributes#implicit_yield)
* **\[rules\]** - _array of [types.dt_lib_collect_params_rule_t](../../../types/dt_lib_collect_params_rule_t)_ - A table of rules describing the filter. These rules will be applied after this call
* **return** - _array of [types.dt_lib_collect_params_rule_t](../../../types/dt_lib_collect_params_rule_t)_ - The rules that were applied before this call.
## darktable.gui.libs.collect.new_rule
```
function(
) : types.dt_lib_collect_params_rule_t
```
Returns a newly created rule object
* **return** - _[types.dt_lib_collect_params_rule_t](../../../types/dt_lib_collect_params_rule_t)_ - The newly created rule

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.colorlabels
id: colorlabels
weight: 50
draft: false
author: "people"
---
The color buttons that allow to set labels on an image
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.colorpicker
id: colorpicker
weight: 60
draft: false
author: "people"
---
The colorpicker menu
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.copy_history
id: copy_history
weight: 70
draft: false
author: "people"
---
The UI element that manipulates history
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.darktable_label
id: darktable_label
weight: 80
draft: false
author: "people"
---
The darktable logo in the upper left corner
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.export
id: export
weight: 90
draft: false
author: "people"
---
The export menu
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.filmstrip
id: filmstrip
weight: 100
draft: false
author: "people"
---
The filmstrip at the bottom of some views
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,66 @@
---
title: darktable.gui.libs.filter
id: filter
weight: 110
draft: false
author: "people"
---
The image-filter menus at the top of the UI
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.filter.sort
```
function(
[sort : types.dt_collection_sort_t]
) : types.dt_collection_sort_t
```
Change the collection sort field.
* **\[sort\]** - _[types.dt_collection_sort_t](../../../types/dt_collection_sort_t)_ - The new field to sort by. If empty the current sort field is unchanged
* **return** - _[types.dt_collection_sort_t](../../../types/dt_collection_sort_t)_ = The current sort field.
## darktable.gui.libs.filter.sort_order
```
function(
[order : types.dt_collection_sort_order_t]
) : types.dt_collection_sort_order_t
```
Change the collection sort order.
* **\[order\]** - _[types.dt_collection_sort_order_t](../../../types/dt_collection_sort_order_t)_ - The order to sort by. If empty the current sort order is unchanged.
* **return** - _[types.dt_collection_sort_order_t](../../../types/dt_collection_sort_order_t)_ - The current sort order.
## darktable.gui.libs.filter.rating
```
function(
[rating : types.dt_collection_filter_t]
) : types.dt_collection_filter_t
```
Change the collection rating filter.
* **\[rating\]** - _[types.dt_collection_filter_t](../../../types/dt_collection_filter_t)_ - The new rating field to filter by. If empty the current rating field is unchanged.
* **return** - [types.dt_collection_filter_t](../../../types/dt_collection_filter_t) - The current rating field.
## darktable.gui.libs.filter.rating_comparator
```
function(
[comparator : types.dt_collection_rating_comperator_t]
) : types.dt_collection_rating_comperator_t
```
Change the collection filter comparison field.
* **\[comparator\]** - _[types.dt_collection_rating_comperator_t](../../../types/dt_collection_rating_comperator_t)_ - The new comparison field to filter the rating by. If empty the current rating comparison field is unchanged
* **return** - _[types.dt_collection_rating_comperator_t](../../../types/dt_collection_rating_comperator_t)_ - The current rating comparison field

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.geotagging
id: geotagging
weight: 120
draft: false
author: "people"
---
The geotagging time synchronisation UI
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,28 @@
---
title: darktable.gui.libs.global_toolbox
id: global_toolbox
weight: 130
draft: false
author: "people"
---
The common tools to all view \(settings, grouping...\)
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.global_toolbox.grouping
boolean- The current status of the image grouping option
Attributes:
* [write](../../../Attributes#write)
## darktable.gui.libs.global_toolbox.show_overlays
boolean - the current status of the image overlays option
Attributes:
* [write](../../../Attributes#write)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.hinter
id: hinter
weight: 140
draft: false
author: "people"
---
The small line of text at the top of the UI showing the number of selected images
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.histogram
id: histogram
weight: 150
draft: false
author: "people"
---
The histogram widget
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.history
id: history
weight: 160
draft: false
author: "people"
---
The history manipulation menu
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,43 @@
---
title: darktable.gui.libs.image
id: image
weight: 170
draft: false
author: "people"
---
The UI element that manipulates the current images
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.image.register_action
```
function(
label : string,
callback : function,
[tooltip : string]
)
```
Add a new button and call a callback when it is clicked
* **label** - _string_ - The label to display on the button
* **callback** - _function_ - The function to call when the button is pressed
* **\[tooltip\]** - _string_ - The tooltip to use on the new button
callback -
```
function(
event : string,
images : table oftypes.dt_lua_image_t
)
```
The function to call when the button is pressed
* **event** - _string_ - The name of the button that was pressed
* **images** - _table of [types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The images to act on when the button was clicked

View file

@ -0,0 +1,26 @@
---
title: darktable.gui.libs.import
id: import
weight: 180
draft: false
author: "people"
---
The buttons to start importing images
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.import.register_widget
```
function(
widget : types.lua_widget
)
```
Add a widget in the option expander of the import dialog
* **widget** - _[types.lua_widget](../../../types/lua_widget)_ - The widget to add to the dialog. The reset callback of the widget will be called whenever the dialog is opened.

View file

@ -0,0 +1,40 @@
---
title: darktable.gui.libs.lighttable_mode
id: lighttable_mode
weight: 190
draft: false
author: "people"
---
The navigation and zoom level UI in lighttable
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.lighttable_mode.layout
```
function(
[layout : types.dt_lighttable_layout_t]
) : types.dt_lighttable_layout_t
```
Change the lighttable layout.
* **\[layout\]** - _[types.dt_lighttable_layout_t](../../../types/dt_lighttable_layout_t)_ - The layout to switch to. If empty the current layout is unchanged
* **return** - _[types.dt_lighttable_layout_t](../../../types/dt_lighttable_layout_t)_ - the current layout
## darktable.gui.libs.lighttable_mode.zoom_level
```
function(
[level : int]
) : int
```
Change the lighttable zoom level.
* **\[level\]** - _int_ - The zoom level to switch to. If empty the current zoom level is unchanged
* **return** - _int_ - the current zoom level

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.live_view
id: live_view
weight: 200
draft: false
author: "people"
---
The liveview window
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.location
id: location
weight: 210
draft: false
author: "people"
---
The location ui
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.map_settings
id: map_settings
weight: 220
draft: false
author: "people"
---
The map setting window
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.masks
id: masks
weight: 230
draft: false
author: "people"
---
The masks window
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.metadata
id: metadata
weight: 240
draft: false
author: "people"
---
The widget allowing modification of metadata fields on the current image
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,53 @@
---
title: darktable.gui.libs.metadata_view
id: metadata_view
weight: 250
draft: false
author: "people"
---
The widget displaying metadata about the current image
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.metadata_view.register_info
```
function(
name : string,
callback : function
)
```
Register a field in the image information module with a callback function to update the field
* **name** - _string_ - The name displayed for the new information
* **callback** - _function_ - The function providing the info
callback -
```
function(
image : types.dt_lua_image_t
) : string
```
* **image** - _[types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The image to analyze
* **return** - _string_ - The extra information to display
## darktable.gui.libs.metadata_view.destroy_info
**lua API 6.2.0**
```
function(
name : string
)
```
Remove the named field from the image information module and it's associated callback
* **name** - _string_ - The name of the field, created by [darktable.gui.libs.metadata_view.register_info](#darktable.gui.libs.metadata_view.register_info), to remove

View file

@ -0,0 +1,13 @@
---
title: darktable.gui.libs.module_toolbox
id: module_toolbox
weight: 270
draft: false
author: "people"
---
The tools on the bottom line of the UI (overexposure)
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.modulegroups
id: modulegroups
weight: 260
draft: false
author: "people"
---
The icons describing the different iop groups
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.navigation
id: navigation
weight: 280
draft: false
author: "people"
---
The full image preview to allow navigation
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,23 @@
---
title: darktable.gui.libs overview
id: overview
weight: 10
draft: false
author: "people"
---
This table allows referencing all lib objects.
lib objects are the graphical blocks within each view.
To quickly figure out which lib is which, you can use the following code, which will make a
given lib blink.
```
local dt = require "darktable"
local tested_module="global_toolbox"
dt.gui.libs[tested_module].visible=false
dt.control.sleep(2000)
while true do
dt.gui.libs[tested_module].visible = not dt.gui.libs[tested_module].visible
dt.control.sleep(2000)
end
```

View file

@ -0,0 +1,13 @@
---
title: darktable.gui.libs.print_settings
id: print_settings
weight: 290
draft: false
author: "people"
---
The settings window in the print view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.ratings
id: ratings
weight: 300
draft: false
author: "people"
---
The stars to set the rating of an image
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.recentcollect
id: recentcollect
weight: 310
draft: false
author: "people"
---
The recent collection UI element
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,44 @@
---
title: darktable.gui.libs.select
id: select
weight: 320
draft: false
author: "people"
---
The buttons that allow to quickly change the selection
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.select.register_selection
```
function(
label : string,
callback : function,
[tooltip : string]
)
```
Add a new button and call a callback when it is clicked
* **label** - _string_ - The label to display on the button
* **callback** - _function_ - The function to call when the button is pressed
* **\[tooltip\]** - _string_ - The tooltip to use on the new button
callback -
```
function(
event : string,
images : table oftypes.dt_lua_image_t
) : table oftypes.dt_lua_image_t
```
The function to call when the button is pressed
* **event** - _string_ - The name of the button that was pressed
* **images** - _table of [types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The images in the current collection. This is the same content asdarktable.collection
* **return** - _table of [types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The images to set the selection to

View file

@ -0,0 +1,13 @@
---
title: darktable.gui.libs.session
id: session
weight: 330
draft: false
author: "people"
---
The session UI when tethering
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,50 @@
---
title: darktable.gui.libs.snapshots
id: snapshots
weight: 340
draft: false
author: "people"
---
The UI element that manipulates snapshots in darkroom
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)
## darktable.gui.libs.snapshots.ratio
number - The place in the screen where the line separating the snapshot is. Between 0 and 1
Attributes:
* [write](../../../Attributes#write)
darktable.gui.libs.snapshots.direction
[types.snapshot_direction_t](../../../types/snapshot_direction_t) - The direction of the snapshot overlay
Attributes:
* [write](../../../Attributes#write)
## darktable.gui.libs.snapshots.#
[types.snapshot_direction_t](../../../types/snapshot_direction_t) - The different snapshots for the image
## darktable.gui.libs.snapshots.selected
[types.snapshot_direction_t](../../../types/snapshot_direction_t) - The currently selected snapshot
## darktable.gui.libs.snapshots.take_snapshot
```
function(
)
```
Take a snapshot of the current image and add it to the UI
The snapshot file will be generated at the next redraw of the main window
## darktable.gui.libs.snapshots.max_snapshot
number - The maximum number of snapshots

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.styles
id: styles
weight: 350
draft: false
author: "people"
---
The style selection menu
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.tagging
id: tagging
weight: 360
draft: false
author: "people"
---
The tag manipulation UI
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.view_toolbox
id: view_toolbox
weight: 380
draft: false
author: "people"
---
The view_toolbox window
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.libs.viewswitcher
id: viewswitcher
weight: 370
draft: false
author: "people"
---
The labels allowing to switch view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_lib_t](../../../types/dt_lua_lib_t)

View file

@ -0,0 +1,11 @@
---
title: darktable.gui overview
id: overview
weight: 10
draft: false
author: "people"
---
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\).

View file

@ -0,0 +1,19 @@
---
title: darktable.gui.panel_get_size
id: panel_get_size
weight: 70
draft: false
author: "people"
---
```
function(
panel : types.dt_ui_panel_t
):int
```
Gets the size in pixels of the specified panel. This only works for the left, right, and bottom
panels.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to get the size of.

View file

@ -0,0 +1,17 @@
---
title: darktable.gui.panel_hide
id: panel_hide
weight: 80
draft: false
author: "people"
---
```
function(
panel : types.dt_ui_panel_t
)
```
Hides the specified panel.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to hide.

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.panel_hide_all
id: panel_hide_all
weight: 90
draft: false
author: "people"
---
```
function(
)
```
Hide all panels.

View file

@ -0,0 +1,21 @@
---
title: darktable.gui.panel_set_size
id: panel_set_size
weight: 100
draft: false
author: "people"
---
```
function(
panel : types.dt_ui_panel_t
size : int
)
```
Sets the size in pixels of the specified panel. This only works for the left, right, and bottom
panels.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to set the size of.
* **size** - _int_ - The size to set the panel to.

View file

@ -0,0 +1,18 @@
---
title: darktable.gui.panel_show
id: panel_show
weight: 110
draft: false
author: "people"
---
```
function(
panel : types.dt_ui_panel_t
)
```
Shows the specified panel.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to show.

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.panel_show_all
id: panel_show_all
weight: 120
draft: false
author: "people"
---
```
function(
)
```
Show all panels.

View file

@ -0,0 +1,18 @@
---
title: darktable.gui.panel_visible
id: panel_visible
weight: 130
draft: false
author: "people"
---
```
function(
panel : types.dt_ui_panel_t
) : boolean
```
Determines if the specified panel is visible.
* **panel** - _[types.dt_ui_panel_t](../../types/dt_ui_panel_t)_ - The panel to check.
* **return** - _boolean_ - true if the panel is visible, false if not

View file

@ -0,0 +1,21 @@
---
title: darktable.gui.selection
id: selection
weight: 140
draft: false
author: "people"
---
```
function(
[selection : table of types.dt_lua_image_t]
) : table of types.dt_lua_image_t
```
Get or change the set of selected images.
Attributes: [implicit_yield](../Attributes#implicit_yield)
* **\[selection\]** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - A table of images which will define the selected images. If this parameter is not given
the selection will be untouched. If an empty table is given the selection will be emptied.
* **return** - _table of [types.dt_lua_image_t](../../types/dt_lua_image_t)_ - A table containing the selection as it was before the function was called.

View file

@ -0,0 +1,7 @@
---
title: darktable.gui.views
id: views
weight: 150
draft: false
author: "people"
---

View file

@ -0,0 +1,24 @@
---
title: darktable.gui.views.darkroom
id: darkroom
weight: 20
draft: false
author: "people"
---
The darkroom view
Attributes:
* [has_tostring](../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../types/dt_lua_view_t)
## darktable.gui.views.darkroom.display_image
```
function(
[image : types.dt_lua_image_t]
) : types.dt_lua_image_t
```
Display an image in darkroom view.
* **\[image\] - _[types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The image to be displayed. If the image is not given, nothing will be changed.
* **return** - _[types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The image currently displayed.

View file

@ -0,0 +1,41 @@
---
title: darktable.gui.views.lighttable
id: lighttable
weight: 30
draft: false
author: "people"
---
The lighttable view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../../../Attributes#parent) : [types.dt_lua_view_t](../../../types/dt_lua_view_t)
## darktable.gui.views.lighttable.is_image_visible
```
function(
image : types.dt_lua_image_t
) : types.dt_lua_image_t
```
Check if the image is visible in lighttable view. The lighttable must be in file manager or
zoomable mode.
* **image** - _[types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The image to be checked.
* **return** - _boolean_ - True if the image is displayed. False if the image is partially displayed or not displayed.
## darktable.gui.views.lighttable.set_image_visible
```
function(
image : types.dt_lua_image_t
) : types.dt_lua_image_t
```
Set the image visible in lighttable view. The lighttable must be in file manager or zoomable
mode.
* **image** - _[types.dt_lua_image_t](../../../types/dt_lua_image_t)_ - The image to set visible.
* **return** - _int_ - An error is returned if no image is specified.

View file

@ -0,0 +1,35 @@
---
title: darktable.gui.views.map
id: map
weight: 40
draft: false
author: "people"
---
The map view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#paren) : [types.dt_lua_view_t](../../../types/dt_lua_view_t)
## darktable.gui.views.map.latitude
* number - The latitude of the center of the map
Attributes:
* [write](../../../Attributes#write)
## darktable.gui.views.map.longitude
* number - The longitude of the center of the map
Attributes:
* [write](../../../Attributes#write)
## darktable.gui.views.map.zoom
* number - The current zoom level of the map
Attributes:
* [write](../../../Attributes#write)

View file

@ -0,0 +1,8 @@
---
title: darktable.gui.views overview
id: overview
weight: 10
draft: false
author: "people"
---
The different views in darktable

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.views.print
id: print
weight: 50
draft: false
author: "people"
---
The print view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../../types/dt_lua_view_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.views.slideshow
id: slideshow
weight: 60
draft: false
author: "people"
---
The slideshow view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../../types/dt_lua_view_t)

View file

@ -0,0 +1,14 @@
---
title: darktable.gui.views.tethering
id: tethering
weight: 70
draft: false
author: "people"
---
The tethering view
Attributes:
* [has_tostring](../../../Attributes#has_tostring)
* [parent](../Attributes#parent) : [types.dt_lua_view_t](../../../types/dt_lua_view_t)