
The histogram profile That thing is coded by copy-pasting the display code, instead of writing reusable functions. This feature has never documented and the available features are really limited, but that still listens to all keystrokes to check if it should capture them. The VIM-style shortcuts I bet you never knew, but if you start typing : in darktable, followed by a command, you can trigger stuff. Just because you can doesn’t mean you should, and capturing mouse scroll on inner tabs messes up with sidebar scrolling (you know, the regular scolling over content that doesn’t fit in the viewport). The ability to assign keyboard shortcuts to Gtk notebook tabs, as well as switching tabs by mouse scroll. Their use is discouraged everywhere on darktable’s doc but they are still there. The dark and icon themes dark themes trigger all sorts of unwanted visual illusions that make color assessment impossible.
DARKTABLE EXPORT PROBLEM CODE
The non-dynamic culling mode and the zoomable lighttable view They are not really used and need a lot of spaghetti code to be handled. The extended overlays mode for thumbnails each of the EXIF metadata display triggered its own SQL request per-thumbnail, because no cache was used, because the guy who coded that doesn’t learn or doesn’t care, but such a loss of CPU cycles is inacceptable. The block and timeout overlay mode in lighttable terrible code for another niche feature that nobody tests until bug appear on the issue tracker that will be answered with “it works on my computer”. Also there is no traceability on which display profile will be used, good luck with that. This should have been the main preview redirected to another window but the code has been hastily hacked by copy-pasting, it’s terrible. The second darkroom window darktable is slow enough with 2 pipelines (thumbnail & preview), a third one is not realistic. Removing the borders allowed to increase the width of the sidebars scrolling sliders for better interaction. Ctrl + Shift + B(ottom) toggles the bottom toolbar only and leaves the filmstrip unchanged (use Ctrl + F(ilmstrip) to toggle it). Ctrl + Shift + T(op) toggles the top toolbar only and leaves the main header unchanged (use Ctrl + H(eader) to toggle it). The silly cycling through all the possible combinations of headers and bottoms that happened when hitting Ctrl + Shift + T(op) or Ctrl + Shift + B(ottom) has been completly removed. In the future, a global menu (you know, like in any app since 1990) will take care of that with a view menu. For now, collapsing side-bars can be achieved with Ctrl + Shift + L(eft), Ctrl + Shift + R(ight), top bar with Ctrl + Shift + T(op) and bottom bar with Ctrl + Shift + B(ottom). But they waste space, are typically too narrow for many displays, and tend to reappear when you don’t want them because their state is defined per view. The main window borders with collapsing arrows / silly cycling through headers The borders marked with arrows allow to collapse or expand the GUI panels. This was responsible for way too many SQL requests and removing it is responsible for most of the GUI responsiveness improvement. The timeline terrible code and a huge loss of CPU cycles for a niche feature that essentially serves no purpose. Use overlays with cursor or key shortcuts to set stars. The stars rating toolbar in lighttable It’s redundant with overlays and requires to travel too far with the cursor to set it. And to say that the new filtering started as a refactoring project… Never let the darktable idiots refactor anything, it’s too dangerous. The same feature is achieved in Ansel with about 580 lines of code. That thing is the poster case of everything that’s wrong in Geektable 4.0. The new filtering option A beautiful shit made of 6300 lines of bloat and still counting, that needs a screen-reader to understand WTF those icons mean, supposed to fix a problem nobody had with something that adds bugs and trouble. In cases of multiple instances of exposure module, it is automatically linked to the controls of the last instance, which is generally wrong because it is typically masked. The histogram overlay control for exposure and black level It’s too easy to inadvertently mess up exposure when cycling through scopes (especially with a Wacom tablet) and it adds unnecessary GUI motion events and redraws.

The easter egg video game Not funny if you happen to be with a client on April 1st and your working app opens on a silly game that can’t even be closed with Ctrl+Q. The problem is GPhoto2 is known to break something different at each new release, so it’s simply not worth the trouble to maintain a GUI over a Schrödinger cat. The tethering view is merely a GUI over Gphoto2, much like Entangle.

What was removed from mainstream darktable Features The tethering view It relies on the lib GPhoto2 which is super brittle and buggy.
