I've been using darktable for 4 years now as my primary editor. However, with any complex product there will be features you overlook - maybe because you didn't understand what they were when you first encountered them, or just had no need to learn about them at the time.
One such basic feature for me in dT is "styles".
What are styles and how to you use them?
In a nutshell, styles are a library of stored and named image processing histories. They are used to apply a saved image processing history to one or more files at a click of a button.
Example:
Let's say you have a standard processing routine (or perhaps several alternatives) that you tend to apply to your images. You probably give each image custom processing, but over time you notice that there are bunch of standard things you nearly always do to each image. The fundamentals of your standard processing is similar for many images. Repeating these steps over and over for every image is wearing out your mouse and your arm.
Never fear, there is a solution.
-
Find a typical unedited image in your catalogue.
-
Apply the routine basic processing steps you usually use in the darkroom tab. Don't apply any fancy custom edits, just the basics.
-
Finish your edits and switch to the Lighttable tab. Click on the image you just edited (make sure it is just this image!).
-
In the right hand side panel, find the section called "Styles".
-
Click the "create" button. A pop up will appear, with a long list of all the processing modules currently applied to your selected exemplar image. Next to each module name is a tick mark. Untick any modules you don't want to be in your new Style. Give the style a unique name eg "My default edits style Option 1" and click the save button.
-
You'll now notice there is a new style saved in the styles panel with the name you just gave it (it may be the only style in the panel).
Using the new style
To use the style, select one or more images in the Lighttable tab. Then in the styles panel on the right side of the Lighttable tab, click on your newly minted style name. Then click the "apply" button at the bottom of the panel. The processing steps in your style will be applied to each of the selected files in turn with just the one click.
You can then go and edit each file and add any custom edits to individual files.
I've created styles for B&W, B&W with heavy grain and a default style, just to get me started and save on a bunch of clicks.
Styles are quite like copying the processing history stack from one file and pasting to another. Except the style gets saved to a permanent library rather than disappearing when you close the program. A convenience/time saving feature, basically.
Difference between styles and presets
In darktable, a preset is a saved set of settings for one processing module. You can create as many presets as you want within a module and apply one to an image by selecting it from the hamburger menu to the right of the module name. Many modules come with pre-installed presets provided by the devs. Especially for some of the complex and hard to understand modules. Often one of these presets will be all you need.
Preset example:
The sharpen module has 3 sliders for radius amount and threshold. You can twiddle these sliders to tweak and refine the sharpening applied to an image. But often you don't need infinite flexibility, just a quick and dirty solution. You can add this to the module, by opening an image for editing, opening the sharpen module, tweak the sliders, then click the module hamburger icon and click "save as new preset" and give the preset a name.
Ever after, when you use the sharpen module, that preset will be waiting for you on the hamburger menu.
You could create several presets called, say, low, standard, high. Then you can apply differing amounts of sharpening by clicking an appropriate preset and save a bit of slider sliding. Adds up in the long run.
Presets are stored commands, but each preset contains only the settings for that processing module.
Styles are stored histories. They remember all the processing options across any number of processing modules, not just one. Use presets to quickly apply a standard processing in one module; use styles to quickly apply a whole collection of processing from many modules.
That's the differences between the two features.