ART | Dateien im Browser duplizieren – Teil 1: Die Lösung unter Linux

Für mich ist einer der Vorteile von ART (Another RawTherapee), dass die RAWs nicht in einen Katalog importiert werden. Alle Bilder verbleiben in meiner Ordnerstrktur im Dateisystem.

Beim Durchmustern und Entwickeln im integrierten Dateibrowser von ART habe ich jedoch eine Funktion schmerzlich vermisst: das direkte Duplizieren einer Datei inklusive aller dazugehörigen Sidecar-Dateien (.arp und .xmp). Zwar lassen sich innerhalb einer Datei Snapshots anlegen oder Profile kopieren, doch wenn man für eine völlig neue Bearbeitungsvariante eine echte Kopie der Datei im Dateisystem benötigt, musste man bisher den Umweg über den externen Dateimanager gehen.

Um diesen Bruch im Arbeitsablauf zu vermeiden, lässt sich diese Funktion über die User Commands-Schnittstelle von ART direkt im Kontextmenü nachrüsten.


Das Prinzip der User Commands

Die Einrichtung basiert auf zwei Komponenten:

  1. Eine .txt-Steuerdatei im usercommands-Ordner von ART, die den Menüeintrag definiert.
  2. Ein Bash-Skript, das die ausgewählten Dateien klont, fortlaufend durchnummeriert und eventuell vorhandene Sidecars mitkopiert.

Hier ein Screenshot des User Commands.

Duplicate User Command


Einrichten unter Linux (Fedora & Ubuntu)

Unter modernen Linux-Distributionen wie Fedora oder Ubuntu wird ART meist als Flatpak betrieben. Durch die Sandbox-Isolierung von Flatpak sind die Konfigurationspfade spezifisch angepasst.

1. Konfigurationsdatei anlegen

Im Konfigurationsverzeichnis der ART-Flatpak-Installation legt man eine neue Datei namens duplicate.txt an.

  • Pfad: ~/.var/app/us.pixls.art.ART/config/ART/usercommands/duplicate.txt

Sollte der Ordner usercommands noch nicht existieren, lässt er sich im Terminal schnell erstellen:

mkdir -p ~/.var/app/us.pixls.art.ART/config/ART/usercommands/

In die Datei duplicate.txt wird folgender Inhalt eingefügt:

[ART UserCommand]
Label=Duplicate File
Label[de]=Datei duplizieren
Command=/home/BENUTZER/.local/bin/duplicate.sh
FileType=any
MinArgs=1

(Hinweis: BENUTZER muss durch den eigenen Linux-Benutzernamen ersetzt werden).

2. Das Bash-Skript erstellen

Nun erstellt man das eigentliche Ausführungsskript unter /home/BENUTZER/.local/bin/duplicate.sh und macht es anschließend mit chmod +x ausführbar.

#!/usr/bin/env bash

for filepath in "$@"; do
    if [ -f "$filepath" ]; then
        dir=$(dirname "$filepath")
        filename=$(basename "$filepath")
        name="${filename%.*}"
        ext="${filename##*.}"
        
        # Initialer Name für die Kopie
        new_filepath="${dir}/${name}_copy.${ext}"
        
        # Zähler hochzählen, falls Datei bereits existiert
        counter=1
        while [ -f "$new_filepath" ]; do
            new_filepath="${dir}/${name}_copy_${counter}.${ext}"
            ((counter++))
        done
        
        # Hauptdatei (RAW, JPG, TIFF) kopieren
        cp "$filepath" "$new_filepath"
        
        # Sidecars mitkopieren, sofern vorhanden
        [ -f "${filepath}.arp" ] && cp "${filepath}.arp" "${new_filepath}.arp"
        [ -f "${filepath}.xmp" ] && cp "${filepath}.xmp" "${new_filepath}.xmp"
    fi
done

3. Flatpak-Berechtigung anpassen

Damit die isolierte ART-Sandbox auf das lokal abgelegte Skript im Home-Verzeichnis zugreifen kann, erteilt man der Flatpak-Anwendung einmalig die Berechtigung für das Dateisystem:

flatpak override --user --filesystem=host us.pixls.art.ART

Anwendung im Workflow

Nach einem Neustart von ART klickt man im internen Dateibrowser mit der rechten Maustaste auf eine beliebige Datei (egal ob RAW, JPEG oder TIFF) und wählt den neuen Menüpunkt Datei duplizieren oder Duplicate File.

ART führt das Skript im Hintergrund aus. Neben der Hauptdatei werden auch direkt die .arp-Entwicklungs-Einstellungen und etwaige .xmp-Metadaten im Dateisystem geklont. Die neue Kopie erscheint sofort im Dateibrowser und steht für die weitere Bearbeitung bereit.

Natürlich geht das auch mit ART unter Windows und MacOS, aber das ist eine andere Geschichte.

Bleibt mir gewogen, Euer Albfotograf

Hinterlasse einen Kommentar