The modules in this reference section are broken down into two distinct types:

processing modules
Processing modules are used exclusively in the darkroom view. Each module performs a processing operation on the image before passing its output to the next module for further processing. Together this sequence of processing steps forms the pixelpipe.
utility modules
Utility modules may be used in any darktable view. They are not directly involved in processing the pixels of an image but perform other ancillary functions (managing image metadata and tags, editing history, modifying pixel pipeline order, snapshots and duplicates, image export etc.).

The two types of modules have a few aspects in common, described below.

🔗module header

Each module has a header at the top, normally consisting of the following elements:

module name
Click on the name to expand or collapse the rest of the module and show/hide its controls.
reset parameters button
This normally appears to the right of the module name and is used to reset the state of the module back to its original condition.
presets menu
This normally appears at the far right of the module header. The presets menu is predominantly used in processing modules, but many of the utility modules allow presets to be defined as well. You can also access this menu by right-clicking anywhere on the module header.

Processing modules contain additional elements in their module header, as described in the processing module header section.

🔗module resizing

🔗utility modules

Some utility modules contain lists of information that can grow as more entries are added. To help manage screen real-estate, it is possible to increase or decrease the maximum number of entries that can be displayed before a scroll bar is added. To alter the maximum number of entries, place the mouse over an entry in the list, and hold Shift+Alt while scrolling your mouse wheel. If the list currently contains more entries than this maximum, a scrollbar will appear so that you can access the hidden entries. Alternatively you can click+drag the bottom of the scrollable area with your mouse.

Note: It is not possible to extend these areas beyond the number of entries currently shown. If you attempt to do so using Shift+Alt+scroll, the maximum number of entries will increase, and a toast message will appear informing you of the new maximum. However, the module itself will not be resized unless its content exceeds this maximum.

🔗processing modules

Some processing modules contain drawn graphical elements that can take up too much or too little screen space depending on the width of your side panels. These drawing areas usually default to a 16:9 aspect ratio and can be similarly resized by hovering over them and holding Ctrl while scrolling.