Files
adfmanager/README.md
T

5.3 KiB

ADF Manager

Grafisches Frontend für xdftool (Teil von amitools) zum Verwalten von Amiga-Disk-Images (ADF) unter Linux. Gedacht als Ersatz für das mühsame Einzel-Kopieren per Kommandozeile, wenn sich ADFs nicht bequem mounten lassen.

Teil von Projekt Hirnfrei. Entwickler: Dany Thinnes.

Funktionen

  • Zwei-Spalten-Ansicht: links der Inhalt der ADF, rechts ein Ordner auf dem PC
  • Navigation in beiden Ansichten per Doppelklick (links auch in ADF-Unterordner, .. führt eine Ebene hoch)
  • ADF → PC: ein oder mehrere Einträge (auch ganze Ordner) in den rechts angezeigten PC-Ordner kopieren
  • PC → ADF: ein oder mehrere Dateien/Ordner in den links angezeigten ADF-Ordner kopieren. Existiert ein Eintrag bereits in der ADF, wird er nach Rückfrage vorher gelöscht
  • Löschen, Umbenennen und Anlegen von Ordnern in der ADF
  • Alle Einträge eines Vorgangs werden in einem xdftool-Aufruf verarbeitet (schnell auch bei vielen Dateien)
  • Versteckte Dateien auf der PC-Seite ein-/ausblendbar
  • Spaltenbreiten frei einstellbar; Fenstergröße und Spaltenbreiten werden gespeichert
  • Auswerfen: Liegt die ADF auf einer SD-Karte oder einem anderen Wechseldatenträger, kann das Medium direkt aus dem Programm ausgehängt und abgeschaltet werden
  • Protokollfenster mit den ausgeführten xdftool-Befehlen und deren Ausgabe

Abhängigkeiten

Zur Laufzeit

Paket Zweck
amitools (liefert xdftool) Eigentliche Arbeit an den ADF-Images. Die reine Python-Variante genügt, vamos wird nicht benötigt
udisks2 (optional) Nur für die Funktion „Auswerfen“ (udisksctl)

xdftool muss im PATH liegen. Alternativ kann der Pfad im Programm unter Datei → xdftool-Pfad … eingestellt werden.

Zum Bauen

  • C++17-Compiler (GCC oder Clang)
  • CMake ≥ 3.16
  • Qt 6 (Modul Widgets)

Installation von xdftool

Unter Arch Linux ist Python „externally managed“, daher am besten isoliert installieren:

sudo pacman -S python-pipx
pipx install amitools

(Alternativ in einem eigenen virtualenv mit pip install amitools.) Danach sollte xdftool im Terminal verfügbar sein:

xdftool --help

Bauen (Linux / Arch)

sudo pacman -S --needed base-devel cmake qt6-base
git clone https://git.projekt-hirnfrei.de/diabolus/adfmanager.git
cd adfmanager
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build

Starten:

./build/adfmanager [datei.adf]

Eine ADF kann optional als Kommandozeilenargument übergeben werden.

Bedienung

  1. ADF öffnen … und ein Image wählen (.adf, .ADF, .adz).
  2. Links den gewünschten ADF-Ordner öffnen, rechts den PC-Ordner wählen (Ordner wählen … oder per Doppelklick navigieren).
  3. Einträge markieren (Mehrfachauswahl mit Strg/Umschalt) und über die Pfeil-Buttons in der Mitte kopieren.
  4. Das Ziel beim Kopieren in die ADF ist immer der links angezeigte Ordner („Aktueller ADF-Ordner“).

Hinweise

  • Änderungen werden direkt in die ADF geschrieben. Für wichtige Images vorher eine Sicherungskopie anlegen.
  • Das Programm wertet die Ausgabe von xdftool <image> list aus. Sollte der Baum leer bleiben, steht die Rohausgabe im Protokollfenster. Das ist hilfreich, falls eine andere amitools-Version ein anderes Ausgabeformat verwendet.
  • Unterstützt werden die Dateisysteme, die xdftool beherrscht (OFS/FFS-Disketten-Images).
  • Die „Auswerfen“-Erkennung ist eine Heuristik: Als Wechseldatenträger gelten Medien mit gesetztem removable-Flag, SD-Karten am eingebauten Kartenleser und USB-Datenträger. Systemverzeichnisse (/, /home, …) werden nie angeboten.

Windows (ungetestet)

Hinweis: Dieser Abschnitt ist unverifiziert. Das Programm wurde bisher ausschließlich unter Linux (Arch) getestet.

Der Quellcode verwendet ausschließlich Qt und ist plattformneutral, sollte sich also mit CMake und Qt 6 auch unter Windows bauen lassen. Zu beachten:

  • xdftool ist ein Python-Programm. Laut amitools-Dokumentation ist Windows „heavily untested“, die reine Python-Variante (pip install amitools) soll aber für alle Werkzeuge außer vamos funktionieren. Python (≥ 3.8) muss installiert sein; pip legt xdftool.exe im Scripts-Ordner der Python-Installation ab. Liegt dieser nicht im PATH, den Pfad im Programm einstellen.
  • Die Funktion „Auswerfen“ ist unter Windows nicht verfügbar (Button bleibt deaktiviert).

Beispiel für den Build (Qt aus dem Qt-Installer, Pfad anpassen):

cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=C:/Qt/6.x.x/mingw_64
cmake --build build
windeployqt build/adfmanager.exe

Lizenz

Copyright (C) 2026 Dany Thinnes

Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, wie von der Free Software Foundation veröffentlicht, weitergeben und/oder modifizieren, entweder gemäß Version 3 der Lizenz oder (nach Ihrer Wahl) jeder späteren Version.

Die Veröffentlichung erfolgt in der Hoffnung, dass es Ihnen von Nutzen sein wird, aber ohne jede Gewährleistung; sogar ohne die implizite Gewährleistung der MARKTFÄHIGKEIT oder EIGNUNG FÜR EINEN BESTIMMTEN ZWECK. Details finden Sie in der GNU General Public License (siehe Datei LICENSE).

SPDX-License-Identifier: GPL-3.0-or-later