Dir Sync bl v2.1.2
Portable Windows Ordner-Synchronisation · Autor: Bernhard Lickert · Entwickelt mit Claude (Anthropic)
Schnellstart
Es gibt zwei Wege, Dir Sync bl zu starten. Normaler Start ist die eigenständige
DirSyncBL.exe — kein Python auf dem Zielsystem nötig, kein Konsolenfenster, startet
und beendet sich am schnellsten und zuverlässigsten. Der Start über den Python-Quellcode
(start.bat) ist die Alternative für Entwicklung oder wenn kein Build-Schritt
gewünscht ist.
Normaler Start — DirSyncBL.exe empfohlen
-
Einmalig: EXE bauen
build_exe.batper Doppelklick starten (benötigt einmalig Python 3.10+, siehe Systemvoraussetzungen). Installiert automatisch alle Abhängigkeiten sowiePyInstallerund erzeugtdist\DirSyncBL.exe. Dauert 1–3 Minuten. -
dist\DirSyncBL.exeper Doppelklick starten
Ab jetzt reicht das — auf diesem PC und jedem anderen Windows-PC, auch ganz ohne installiertes Python. Kein Konsolenfenster, kein Bootstrap-Schritt, sauberes Beenden. -
Quell- und Zielordner wählen, synchronisieren
Ordner über die 📁-Schaltfläche auswählen oder per Drag & Drop in die Felder ziehen, dann „⟳ Synchronisieren" klicken.
dist\ (enthält DirSyncBL.exe) kann komplett auf einen
USB-Stick, eine externe Festplatte oder einen anderen Windows-PC kopiert werden — dort läuft
das Programm sofort, ganz ohne weitere Installation.
Alternative: direkt aus dem Python-Quellcode
Für Entwicklung oder wenn kein Build-Schritt gewünscht ist, lässt sich das Programm auch ohne vorherigen Build direkt aus dem mitgelieferten Quellcode starten — dafür mit einmaliger automatischer Paketinstallation beim allerersten Start.
-
Python installieren (einmalig, falls noch nicht vorhanden)
https://www.python.org/downloads/ — Python 3.10 oder neuer herunterladen und installieren.
⚠ Wichtig: Beim Installer den Haken bei „Add Python to PATH" setzen! -
start.batper Doppelklick starten
Beim allerersten Start erscheint ein kleines Einrichtungsfenster: Das Programm legt automatisch eine lokale Python-Umgebung (venv) an und installiert alle benötigten Pakete. Eine Internetverbindung ist dazu erforderlich.
Ab dem zweiten Start entfällt dieser Schritt vollständig. -
Quell- und Zielordner wählen, synchronisieren
Ordner über die 📁-Schaltfläche auswählen oder per Drag & Drop in die Felder ziehen, dann „⟳ Synchronisieren" klicken.
setup.bat ist ab v1.4.0 optional und dient nur noch als manueller Fallback für den Python-Quellcode-Weg — z. B. wenn beim ersten Programmstart keine Internetverbindung vorhanden war.
Systemvoraussetzungen
| Anforderung | Details |
|---|---|
| Betriebssystem | Windows 10 / 11 (64-Bit) |
| Python | 3.10 oder neuer (von python.org) — nur einmalig zum Bauen der EXE bzw. für den Python-Quellcode-Weg nötig, nicht mehr auf PCs, die nur die fertige DirSyncBL.exe ausführen |
| Internet | Nur beim EXE-Bauen bzw. beim allerersten Start über start.bat für die Paket-Installation |
| Speicherplatz | ca. 80 MB für venv + Pakete (Python-Quellcode-Weg) bzw. ca. 30 MB für dist\DirSyncBL.exe |
Automatisch installierte Pakete
| Paket | Funktion | Ohne Paket |
|---|---|---|
watchdog | Auto-Monitor (Ordner-Überwachung) | Auto-Monitor deaktiviert |
Pillow | Programm-Icon erzeugen | Kein Icon in Titelleiste |
psutil | Speicherplatz-Prüfung | Keine Speicheranzeige |
sv-ttk | Modernes Oberflächen-Theme | Klassisches Tk-Erscheinungsbild (voll funktionsfähig) |
pystray | Systray-Symbol beim Minimieren NEU v2.1.0 | Checkbox „In den Systray minimieren" deaktiviert/ausgegraut |
tkinterdnd2 | Drag & Drop für Ordnerpfade | Nur manuelle Eingabe |
Ordnerstruktur
DirSyncBL/
├── DirSyncBL.py Hauptprogramm (mit Konsolenfenster)
├── DirSyncBL.pyw Hauptprogramm (kein Konsolenfenster) ← wird von start.bat genutzt
├── build_exe.bat Baut dist\DirSyncBL.exe (normaler Start, einmalig ausführen)
├── DirSyncBL.spec PyInstaller-Bauplan für build_exe.bat
├── start.bat Programm aus dem Quellcode starten (Alternative, Doppelklick)
├── setup.bat Manuelle Erstinstallation für den Quellcode-Weg (optional)
├── requirements.txt Paketliste
├── icon.ico Programm-Icon (wird beim ersten Start erzeugt)
├── README.md Kurzanleitung
├── data/
│ ├── config.json Alle Einstellungen (automatisch gespeichert)
│ └── sync.log Vollständiges Protokoll aller Aktionen
├── venv/ Lokale Python-Umgebung (nur Quellcode-Weg, nach erstem Start)
└── dist/
└── DirSyncBL.exe Eigenständige EXE (normaler Start, nach build_exe.bat)
DirSyncBL-Ordner (Quellcode-Weg) als auch allein der Ordner
dist\ mit DirSyncBL.exe können auf einen USB-Stick oder eine externe
Festplatte kopiert werden. Für die EXE muss auf dem Zielsystem kein Python installiert sein;
für den Quellcode-Weg (start.bat) einmalig schon — danach richtet sich das Programm
selbst ein.
Ordnerauswahl
Im oberen Bereich des Fensters befinden sich zwei Eingabefelder für Quelle (der Ordner, aus dem synchronisiert wird) und Ziel (der Ordner, in den synchronisiert wird).
Möglichkeiten zur Auswahl
- 📁-Schaltfläche rechts neben dem Feld → Ordner-Dialog öffnet sich
- Pfad direkt eintippen ins Textfeld
- Drag & Drop: Ordner aus dem Windows-Explorer in das Textfeld ziehen (erfordert
tkinterdnd2)
Der zuletzt verwendete Pfad wird beim Beenden automatisch gespeichert und beim nächsten Start wiederhergestellt.
Synchronisierungs-Modi
| Modus | Was passiert | Löscht im Ziel? |
|---|---|---|
| Neu / Geändert | Neue und geänderte Dateien werden von Quelle → Ziel kopiert. Dateien, die nur im Ziel vorhanden sind, bleiben unangetastet. | Nein |
| Spiegel | Das Ziel wird zu einem exakten Abbild der Quelle. Dateien, die im Ziel, aber nicht in der Quelle vorhanden sind, werden gelöscht. | Ja! |
| Bidirektional | Synchronisiert in beide Richtungen. Die jeweils neuere Datei überschreibt die ältere (nach Änderungsdatum). | Nein |
Optionen
| Option | Beschreibung |
|---|---|
| Unterordner | Bezieht alle Unterordner rekursiv in Vergleich und Synchronisierung ein. Deaktivieren, um nur den Hauptordner (ohne Unterordner) zu verarbeiten. |
| MD5-Hash | Vergleicht Dateiinhalte per MD5-Prüfsumme statt nur Größe und Datum. Erkennt zuverlässig auch Bit-Fehler, ist aber deutlich langsamer. Empfohlen nur für kleine Ordner oder bei Verdacht auf Datenfehler. |
Filter (Ausschlüsse) NEU v1.4.0
Mit der Filter-Leiste können bestimmte Dateien und Ordner von Vergleich und Synchronisierung ausgeschlossen werden. Filter werden mit dem Job gespeichert.
Datei-Filter
Ausschlussmuster für Dateinamen — Semikolon als Trennzeichen.
| Muster | Schließt aus |
|---|---|
*.tmp | Alle Dateien mit der Endung .tmp |
*.bak | Alle Backup-Dateien |
Thumbs.db | Windows-Vorschaubilder-Datenbank (exakter Name) |
desktop.ini | Windows-Ordner-Konfigurationsdatei |
~$* | Temporäre Office-Sperrdateien |
*.~lock.* | LibreOffice-Sperrdateien |
~*.tmp;*.bak;Thumbs.db | Mehrere Muster kombiniert |
Ordner-Filter
Ordnernamen oder -muster — der Ordner selbst und alle seine Inhalte werden übersprungen.
| Muster | Schließt aus |
|---|---|
.git | Git-Versionsverwaltungsordner |
__pycache__ | Python-Cache-Ordner |
node_modules | Node.js-Abhängigkeiten |
.svn | Subversion-Ordner |
temp* | Alle Ordner, deren Name mit „temp" beginnt |
*cache* | Alle Ordner mit „cache" im Namen |
Wildcard-Zeichen
| Zeichen | Bedeutung | Beispiel |
|---|---|---|
* | Beliebig viele Zeichen (auch keines) | *.tmp → test.tmp, a.tmp, .tmp |
? | Genau ein beliebiges Zeichen | log?.txt → log1.txt, logA.txt |
Filter: 47 Einträge ausgeschlossen in C:\Quelle
Symbolleiste
| Schaltfläche | Funktion |
|---|---|
| 🔍 Vergleichen | Analysiert Quell- und Zielordner und zeigt alle Unterschiede farblich im Tab „Unterschiede" an. Es werden noch keine Dateien kopiert oder gelöscht. |
| ⟳ Synchronisieren | Führt die Synchronisierung sofort durch. Falls vorher verglichen wurde, werden diese Ergebnisse verwendet; andernfalls wird automatisch vorher verglichen. |
| ⏹ Stop | Bricht die laufende Aktion (Vergleich oder Synchronisierung) sofort ab. Bereits kopierte Dateien bleiben erhalten. |
| ⚙ Einstellungen | Öffnet den Einstellungs-Dialog für Farben und Schrift. |
Die Fortschrittsleiste und die Statuszeile darunter zeigen den Fortschritt der laufenden Aktion sowie den Namen der aktuell verarbeiteten Datei.
Tab: Unterschiede
Nach einem Vergleich zeigt dieser Tab alle gefundenen Dateien in einer Tabelle — farblich nach Status markiert.
Farbkodierung
| Farbe | Status | Bedeutung |
|---|---|---|
| Gelb | Nur Quelle | Datei existiert nur im Quellordner, nicht im Ziel. |
| Orange | Nur Ziel | Datei existiert nur im Zielordner, nicht in der Quelle. |
| Rot | Geändert | Datei existiert in beiden Ordnern, hat sich aber verändert (Größe, Datum oder MD5). |
| Grün | Identisch | Datei ist in Quelle und Ziel identisch — keine Aktion nötig. |
Spalten
| Spalte | Inhalt |
|---|---|
| Status | Nur Quelle / Nur Ziel / Geändert / Identisch |
| Datei / Pfad | Relativer Pfad der Datei innerhalb des Ordners |
| Q-Größe / Q-Datum | Größe und Änderungsdatum in der Quelle |
| Z-Größe / Z-Datum | Größe und Änderungsdatum im Ziel |
| Aktion | Was bei der Synchronisierung passieren würde (abhängig vom Modus) |
Durch Klick auf eine Spaltenüberschrift wird die Liste nach dieser Spalte sortiert. Ein zweiter Klick kehrt die Sortierung um.
Unterhalb der Tabelle zeigt eine Zusammenfassung die Anzahl der Einträge pro Status und wie viele Dateien synchronisiert werden.
Tab: 🗂 Job-Verwaltung erweitert in v2.0.0
Hier lassen sich wiederverwendbare Jobs anlegen, speichern, laden und ausführen — mehrere Jobs
können dabei gleichzeitig laufen bzw. Ordner überwachen. Ein Job speichert Quell-/Zielordner,
Modus, Optionen und Filter unter einem Namen direkt im Programm (in data/config.json).
Unterschied zu Verlauf
- Job-Verwaltung — benannte, dauerhaft gespeicherte Jobs, die einzeln gestartet/gestoppt werden,
parallel zueinander laufen können und optional als
.dsync-Datei exportiert/importiert werden. - Verlauf (Historie) — automatische Aufzeichnung vergangener Sync-Läufe (nur zum Nachschlagen/Wiederladen).
Übersichtstabelle
| Spalte | Bedeutung |
|---|---|
| Auto | Häkchen = Auto-Monitor für diesen Job aktiv (Ordner wird dauerhaft überwacht, auch nach einem Neustart des Programms). Klick auf die Spalte schaltet um. |
| Job | Name des Jobs |
| Quelle / Ziel | Konfigurierte Ordner des Jobs |
| Modus | Neu/Geändert, Spiegel oder Bidirektional |
| Status | ○ Bereit · ● Läuft … (mit Fortschritt in %) · ● Überwacht · ● Fehler |
Schaltflächen
- ➕ Neu … — legt einen neuen Job über einen Dialog an (Name, Ordner, Modus, Optionen, Filter, Auto-Monitor)
- ✏ Bearbeiten … — bearbeitet den ausgewählten Job (auch per Doppelklick auf die Zeile)
- 📄 Duplizieren — kopiert den ausgewählten Job unter neuem Namen
- 🗑 Löschen — entfernt den Job (stoppt ihn zuerst, falls er gerade läuft oder überwacht)
- 📥 Aktuelle Felder als Job speichern … — übernimmt Quelle/Ziel/Modus/Filter aus dem Formular oben als neuen Job
- 📤 In Formular laden — lädt einen Job zurück in das Hauptformular (z. B. für einen manuellen Vergleich)
- 💾 Export … — speichert den ausgewählten Job als portable
.dsync-Datei (z. B. zum Sichern oder zur Weitergabe an einen anderen Rechner) — ersetzt das frühere „Profil speichern" - 📂 Import … — lädt eine
.dsync-Datei als neuen Job — akzeptiert auch ältere, mit der früheren Profil-Funktion gespeicherte Dateien (das Dateiformat ist unverändert) - ▶ Start — startet den ausgewählten Job: bei normalen Jobs ein einmaliger Vergleich + Sync, bei Auto-Monitor-Jobs die dauerhafte Überwachung. Mehrere Jobs können gleichzeitig gestartet werden.
- ⏹ Stop — stoppt den laufenden Job bzw. dessen Überwachung
Mehrere Jobs gleichzeitig
Jeder gestartete Job läuft in einem eigenen Hintergrund-Thread. Es können beliebig viele Jobs parallel synchronisieren oder überwachen — die Übersichtstabelle zeigt den Status jedes Jobs live an. Abgeschlossene Job-Läufe erscheinen zusätzlich im Tab „Verlauf (Historie)".
Voraussetzung für Auto-Monitor
Auto-Monitor je Job benötigt das Paket watchdog (wird beim ersten Start automatisch installiert, siehe
Systemvoraussetzungen). Ohne watchdog bleibt die „Auto"-Spalte deaktiviert.
Tab: Protokoll
Das Protokoll zeigt alle Aktionen des Programms in Echtzeit — mit Zeitstempel und farblicher Markierung:
- ■ Rot — Fehler
- ■ Orange — Warnungen
- ■ Schwarz — Informationen und erfolgreiche Aktionen
Die Schaltflächen am unteren Rand des Tabs:
- Leeren — löscht die Anzeige (die Datei
data/sync.logbleibt erhalten) - Speichern… — exportiert das aktuelle Protokoll als
.txt-Datei
Das vollständige Protokoll wird dauerhaft in data/sync.log geschrieben.
Tab: Verlauf (Historie)
Die letzten 100 Synchronisierungsjobs werden automatisch gespeichert und in diesem Tab angezeigt.
Einträge in Grün = erfolgreich, in Rot = mit Fehler.
Schaltflächen
- Job laden — Stellt Quell-/Zielordner und Modus des ausgewählten Eintrags wieder her
- Verlauf löschen — Löscht den gesamten Verlauf unwiderruflich
Auto-Monitor
Der Auto-Monitor überwacht einen Quellordner kontinuierlich im Hintergrund und löst automatisch eine Synchronisierung aus, wenn Änderungen erkannt werden.
Aktivieren
- Job im Tab 🗂 Job-Verwaltung anlegen (Quelle, Ziel, Modus, Optionen)
- Häkchen in der Spalte Auto für diesen Job setzen — per Klick in der Übersicht, oder im Job-Dialog die Checkbox „Auto-Monitor (dauerhaft überwachen)" aktivieren
- Status in der Übersicht wechselt auf ● Überwacht
Verhalten
- Erkennt neue, geänderte und gelöschte Dateien im Quellordner des jeweiligen Jobs
- Wartet 2,5 Sekunden nach der letzten Änderung, bevor synchronisiert wird (verhindert unnötige Syncs bei schnellen Änderungsfolgen)
- Unterordner werden immer überwacht, unabhängig von der Option „Unterordner"
- Bleibt nach einem Neustart des Programms aktiv (auch beim Windows-Autostart, siehe „Programmstart")
watchdog. Ist es nicht installiert, ist die Checkbox deaktiviert. setup.bat erneut ausführen oder Internetverbindung prüfen.
Speicherprüfung
Sobald ein Zielordner eingetragen ist, zeigt das Programm unterhalb der Ordnerfelder den freien und belegten Speicherplatz des Ziel-Laufwerks:
- ■ Grün — genug Platz vorhanden (unter 75 % belegt)
- ■ Orange — Laufwerk zu über 75 % belegt
- ■ Rot — Laufwerk zu über 90 % belegt
Vor jeder Synchronisierung wird außerdem geprüft, ob genug Platz für alle zu kopierenden Dateien vorhanden ist. Reicht der Platz nicht aus, wird die Synchronisierung mit einer Fehlermeldung abgebrochen.
Einstellungen
Öffnen über ⚙ Einstellungen in der Symbolleiste. Alle Änderungen werden sofort angewendet und dauerhaft in data/config.json gespeichert.
Der Dialog ist in fünf Tabs gegliedert:
🎨 Farben
Folgende Farben sind einzeln anpassbar — Klick auf den farbigen Button öffnet den Windows-Farbauswahl-Dialog:
- Fensterhintergrund und Textfarbe
- Farbmarkierungen für die vier Differenz-Status (Nur Quelle, Nur Ziel, Geändert, Identisch)
Die Schaltfläche „Standard" setzt alle Einstellungen auf die Werkseinstellungen zurück.
sv-ttk-Theme,
dazu eine ruhigere Grundpalette. Ist sv-ttk beim ersten Start nicht installiert, wird
automatisch auf das klassische Erscheinungsbild zurückgefallen — keine Funktionseinschränkung.Feinschliff in v2.0.1: die Symbolleisten-Schaltflächen (Vergleichen/Synchronisieren/Stop/Einstellungen/ Handbuch) flacher/dünnrandig statt als dicke 3D-Buttons (mit Hand-Cursor beim Überfahren), Tabellen-Spaltenüberschriften nicht mehr fett, der aktive Reiter (z. B. „🗂 Job-Verwaltung") wird farblich deutlich hervorgehoben, das Häkchen-Symbol in der Auto-Spalte der Job-Verwaltung ist größer und deutlicher sichtbar, und der Einstellungen-Dialog wurde verbreitert (520→680 px), damit die 5 Reiter (Farben/Schrift/Verhalten/Filter/Log & Verlauf) nicht mehr abgeschnitten dargestellt werden.
Kritischer Bugfix in v2.0.2: Ein experimenteller globaler Stil-Mechanismus aus v2.0.1 (betraf sämtliche Schaltflächen im Programm) konnte auf manchen Systemen beim Start zu einem komplett leeren, eingefrorenen Fenster führen (Python-Prozess beendete sich beim Schließen nicht). Dieser Mechanismus wurde entfernt — die Symbolleisten-Schaltflächen bleiben flach, alle anderen wie gewohnt. Zusätzlich abgesichert: Sollte das Programm beim Start künftig aus einem anderen Grund abstürzen, erscheint jetzt eine Fehlermeldung mit Details statt eines stillen leeren Fensters, und ein Protokoll wird in
data/crash.log gespeichert.Bugfix in v2.0.3: Die Auto-Checkbox in der Job-Verwaltung (und die Checkboxen im Ordner-Auswahldialog für Filter-Ausschlüsse) nutzten bisher Unicode-Symbole (☐/✔), die auf manchen Windows-Systemen/Schriftarten winzig und kaum als Checkbox erkennbar rendern. Umgestellt auf schriftartunabhängige ASCII-Klammer-Notation „[X]" (an) / „[ ]" (aus) — dadurch auf jedem System garantiert gut lesbar. Zugehörige Spalten leicht verbreitert.
🔤 Schrift
- Schriftgröße: 6 bis 22 pt — mit Live-Vorschau
- Schriftart: Segoe UI, Arial, Calibri, Tahoma, Verdana, Courier New, Consolas, Lucida Console
⚙ Verhalten
| Option | Bedeutung |
|---|---|
| Bestätigung vor Sync im Spiegel-Modus | Zeigt vor jedem Spiegel-Sync eine Warnung (empfohlen, da Dateien im Ziel gelöscht werden). |
| Bestätigung vor jedem Sync | Verlangt vor jedem Sync eine explizite Bestätigung (außer im Spiegel-Modus). |
| Fertig-Dialog nach Sync | Wenn deaktiviert, erscheint nach dem Sync kein Popup — das Ergebnis steht nur in der Statusleiste. |
| Automatischer Vergleich nach Pfad-Änderung | Startet den Vergleich automatisch, sobald Quell- oder Zielordner geändert werden. |
| Monitor-Verzögerung (ms) | Wartezeit zwischen Änderungserkennung und automatischem Sync (Standard: 2500 ms). Höhere Werte verhindern Doppel-Syncs bei schnellen Dateioperationen. |
| Hash-Vergleich | Präziserer, aber langsamerer Dateivergleich per MD5-Prüfsumme statt Datum/Größe. |
🔍 Filter
Legt die Standard-Vorgaben für neue Sitzungen und Jobs fest:
- Dateien: Standardmäßig ausgeschlossene Dateimuster (z. B.
*.tmp;*.bak;Thumbs.db) - Ordner: Standardmäßig ausgeschlossene Ordnermuster (z. B.
.git;__pycache__) - Standard-Sync-Modus: Neu/Geändert, Spiegel oder Bidirektional
- Unterordner: Ob Unterordner standardmäßig einbezogen werden
Diese Werte werden beim nächsten Programmstart übernommen. Laufende Einstellungen im Hauptfenster bleiben unberührt.
📋 Log & Verlauf
| Option | Bedeutung |
|---|---|
| Max. Protokoll-Zeilen | Begrenzt die Anzahl der Zeilen im Protokoll-Tab. Ältere Einträge werden automatisch entfernt (Standard: 2000). |
| Zeitstempel im Protokoll | Stellt jedem Protokoll-Eintrag eine Uhrzeit (HH:MM:SS) voran. |
| Max. Verlauf-Einträge | Begrenzt die Anzahl der gespeicherten Sync-Jobs im Verlauf-Tab (Standard: 100). |
Programmstart (Autostart) NEU v1.6.0
Über ⚙ Einstellungen ▸ Verhalten ▸ „Programmstart" lässt sich festlegen, ob Dir Sync bl automatisch mit Windows startet und ob das Fenster dabei minimiert bleibt.
Mit Windows starten
Legt eine kleine Startdatei DirSyncBL_autostart.bat im Windows-Autostart-Ordner
des aktuellen Benutzers an:
%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\DirSyncBL_autostart.bat
Diese Datei wechselt beim Anmelden lediglich in den Programmordner und ruft
start.bat auf — also den Python-Quellcode-Weg (inkl. automatischer
venv-Erkennung), unabhängig davon, ob im Alltag sonst DirSyncBL.exe verwendet
wird. Beim Deaktivieren der Option wird die Datei wieder entfernt.
DirSyncBL.exe nutzt und auch der Autostart darüber laufen soll:
eine Verknüpfung zu dist\DirSyncBL.exe manuell in den Windows-Autostart-Ordner
legen (Win+R → shell:startup), statt die Option „Mit Windows starten"
in den Einstellungen zu verwenden.
Fenster minimiert starten
Gilt für jeden Programmstart, nicht nur den Windows-Autostart — auch beim manuellen Doppelklick startet das Fenster dann minimiert in der Taskleiste.
Typische Kombination
Für einen unauffälligen Hintergrunddienst: „Mit Windows starten" und „Fenster minimiert starten" zusammen aktivieren, zusätzlich die gewünschten Jobs im Tab „Job-Verwaltung" mit dem Häkchen „Auto" versehen. Nach dem nächsten Windows-Start läuft die Überwachung dann automatisch an, ohne das Fenster in den Vordergrund zu holen.
In den Systray minimieren NEU v2.1.0
Bis einschließlich v2.0.4 legte Dir Sync bl bewusst kein Systray-Icon an — „minimiert" bedeutete minimiert in der Windows-Taskleiste, nicht versteckt. Ab v2.1.0 ist das über die zusätzliche Checkbox „In den Systray minimieren" optional aktivierbar (Standard: aus, bestehende Konfigurationen verhalten sich unverändert).
Ist die Option aktiv, verschwindet das Fenster beim Minimieren (Fenster-Button oder in Kombination mit „Fenster minimiert starten") nicht in die Taskleiste, sondern in ein Symbol im Windows-Infobereich (Systray, unten rechts neben der Uhr). Von dort aus:
- Doppelklick auf das Symbol oder Rechtsklick ▸ „Öffnen" blendet das Fenster wieder ein.
- Rechtsklick ▸ „Beenden" beendet das Programm vollständig — inklusive der gleichen Sicherheitsabfrage wie beim [X], falls gerade etwas läuft (siehe Beenden).
Als Auto-Monitor markierte Jobs (Tab „🗂 Job-Verwaltung") laufen dabei unabhängig vom Fensterzustand unverändert im Hintergrund weiter.
pystray
Wird beim ersten Start wie die übrigen Pakete automatisch installiert (siehe
Systemvoraussetzungen). Ist es nicht verfügbar, bleibt die
Checkbox in den Einstellungen deaktiviert und ausgegraut — Minimieren funktioniert dann
wie bisher über die Taskleiste, ohne Funktionseinschränkung sonst.
Beenden
Ein Klick auf das [X] in der Titelleiste beendet das Programm immer direkt und vollständig — das gilt unabhängig davon, ob „In den Systray minimieren" aktiv ist: es gibt kein „Schließen in den Tray", nur das Minimieren kann optional über den Systray laufen (siehe oben).
- Alle Einstellungen (Ordner, Modus, Filter, Fenstergröße und -position) werden automatisch gespeichert.
- Falls gerade eine Aktion (Vergleich oder Synchronisierung) läuft, erscheint eine Sicherheitsabfrage — auch beim Beenden über das Tray-Menü „Beenden".
- Ohne aktivierte Systray-Option läuft das Programm nach dem Schließen nicht im Hintergrund weiter, wie bisher.
Gespeicherte Dateien
| Datei | Inhalt |
|---|---|
data/config.json |
Fenstergröße und -position, Farben, Schrift, Sync-Einstellungen, Filter, letzter Ordner, Job-Verlauf (max. 100 Einträge) |
data/sync.log |
Vollständiges Protokoll aller Sync-Aktionen mit Zeitstempel |
icon.ico |
Programm-Icon für Titelleiste und Taskleiste (beim ersten Start automatisch erzeugt) |
*.dsync |
Exportierte Jobs (frei wählbarer Speicherort, siehe Tab 🗂 Job-Verwaltung) |
data/config.json löschen und das Programm neu starten.
Fehlerbehebung
„Python wurde nicht gefunden"
Python ist nicht installiert oder nicht im PATH. Lösung: Python 3.10+ von python.org herunterladen. Beim Installer unbedingt „Add Python to PATH" aktivieren. Danach start.bat erneut starten.
Pakete können nicht installiert werden
Internetverbindung prüfen. Firewall oder Proxy kann die Installation blockieren. setup.bat als Administrator ausführen kann helfen. Das Programm startet auch ohne optionale Pakete — mit eingeschränkten Funktionen.
Drag & Drop funktioniert nicht
tkinterdnd2 konnte nicht installiert werden. Ordner über die 📁-Schaltfläche oder durch direktes Eintippen des Pfades angeben.
Speicheranzeige fehlt / Auto-Monitor nicht verfügbar
psutil bzw. watchdog fehlt. setup.bat erneut ausführen oder manuell installieren:
venv\Scripts\pip install psutil watchdog
Kein Icon in der Titelleiste
Pillow fehlt. setup.bat erneut ausführen. Das Programm arbeitet ohne Icon vollständig normal.
Oberfläche wirkt klassisch statt modern
sv-ttk konnte nicht installiert werden. setup.bat erneut ausführen oder manuell installieren:
venv\Scripts\pip install sv-ttk
Das Programm funktioniert auch ohne modernes Theme uneingeschränkt.
„In den Systray minimieren" ist ausgegraut
pystray konnte nicht installiert werden. setup.bat erneut ausführen oder manuell installieren:
venv\Scripts\pip install pystray
Das Programm funktioniert auch ohne diese Option uneingeschränkt — Minimieren geht dann wie gewohnt in die Taskleiste.
Filter schließen zu viel / zu wenig aus
Muster prüfen: Wildcards * und ? beachten. Groß-/Kleinschreibung bei Dateinamen prüfen (Windows ist nicht case-sensitiv, das Programm vergleicht den tatsächlichen Dateinamen). Im Protokoll-Tab wird die Anzahl gefilterter Einträge angezeigt.
Synchronisierung mit Fehlern abgebrochen
Protokoll-Tab öffnen — rote Einträge zeigen den genauen Fehler. Häufige Ursachen: Datei von anderem Programm gesperrt, fehlende Schreibrechte, Speicherplatz erschöpft.
Versionshistorie
| Version | Änderungen |
|---|---|
| 2.1.2 2026-08 |
Zweiter Bugfix „Beenden über Systray hängt": Nutzer meldete nach v2.1.1
weiterhin dasselbe Symptom (leeres, eingefrorenes „Geisterfenster" nach „Beenden" über
das Tray-Menü). Der Threading-Fix aus v2.1.1 war zwar richtig, hat aber eine zweite,
unabhängige Ursache nicht beseitigt: _tray_quit() blendete das Fenster über
deiconify() kurz wieder ein, unmittelbar bevor es (über
_on_close()) endgültig zerstört wurde — ohne dass der Tk-Mainloop dazwischen
Gelegenheit hatte, das Fenster tatsächlich fertig zu zeichnen. Unter Windows konnte das
zu genau so einem eingefrorenen, halb gezeichneten „Geisterfenster" führen. Fix: Das
unnötige deiconify() in _tray_quit() wurde entfernt (ein
verstecktes/withdraw-Fenster kann problemlos beendet werden, ohne vorher sichtbar zu
sein). Zusätzlich wurde der komplette Tray-Ablauf (Icon-Start, Öffnen, Beenden) mit
Protokoll-Einträgen versehen, die in data/sync.log landen — sollte das
Problem doch noch einmal auftreten, zeigt das Log genau, an welcher Stelle es hängt.
|
| 2.1.1 2026-08 |
Bugfix „Beenden über Systray hängt": Nutzer meldete nach v2.1.0, dass
„Beenden" über das Tray-Menü weder das Fenster noch den Prozess sauber beendete —
musste über den Task-Manager beendet werden. Diesmal war auch die EXE betroffen,
die von diesem Symptom bislang immer verschont geblieben war (siehe Bugfix in v2.0.4).
Ursache: Die Tray-Menü-Klicks („Öffnen"/„Beenden") liefen im pystray-Hintergrund-Thread
und riefen von dort direkt Tkinter-Funktionen auf (root.after(),
deiconify() über _tray_quit()) — Tcl/Tkinter ist aber nicht
zuverlässig thread-sicher, unter Windows konnte der Aufruf den Tk-Mainloop nie erreichen.
Fix: Die Tray-Callbacks reihen jetzt nur noch eine Aktion in eine
queue.Queue ein (thread-sicher, ohne jede Tk-Berührung); eine neue, sich
selbst über root.after() nachplanende Methode _tray_pump() —
nach demselben Muster wie die bestehenden _pump()/_job_pump()-
Schleifen für andere Hintergrund-Threads — verarbeitet die Queue ausschließlich im
Tk-Haupt-Thread. Damit berührt kein Code mehr außerhalb des Haupt-Threads Tkinter direkt.
|
| 2.1.0 2026-08 |
Neues Feature: In den Systray minimieren — bisher legte Dir Sync bl bewusst
kein Systray-Icon an, „minimiert" bedeutete immer minimiert in der Taskleiste. Ab sofort über
eine neue Checkbox (⚙ Einstellungen ▸ Verhalten ▸ Programmstart) optional aktivierbar
(Standard: aus). Bei aktiver Option verschwindet das Fenster beim Minimieren in ein Symbol im
Windows-Infobereich statt in der Taskleiste; Doppelklick bzw. Rechtsklick ▸ „Öffnen" blendet es
wieder ein, Rechtsklick ▸ „Beenden" beendet das Programm vollständig (inkl. der gewohnten
Sicherheitsabfrage bei laufenden Vorgängen). Auto-Monitor-Jobs laufen währenddessen unverändert
im Hintergrund weiter. Das Schließen-Symbol [X] beendet das Programm weiterhin
immer vollständig — das bleibt bewusst so, nur das Minimieren nutzt optional den Systray.
Benötigt das neue Paket pystray, das wie die übrigen Pakete beim ersten Start
automatisch installiert wird; ist es nicht verfügbar, bleibt die Checkbox deaktiviert und
ausgegraut, ohne sonstige Funktionseinschränkung. Siehe
Programmstart (Autostart)
|
| 2.0.4 2026-08 |
Bugfix „Beenden hängt": Wenn ein Job mit aktivem Auto-Monitor lief und das
Programm über den Python-Quellcode (start.bat) gestartet war, blieb beim Beenden
manchmal ein leeres Fenster/Prozess übrig — musste über den Task-Manager beendet werden. Die
gebaute EXE war davon nicht betroffen. Ursache: Der reale watchdog-Überwachungs-Thread war
nicht als Daemon markiert; falls sein stop()-Aufruf unter Windows nicht sofort
zurückkehrt, wartete der normale Python-Interpreter beim Beenden unbegrenzt auf diesen Thread
— die EXE ist von dieser Wartelogik nicht betroffen, weshalb der Fehler dort nie auftrat.
Fix: Thread wird jetzt explizit als Daemon markiert, damit er den Prozess in keinem
Startmodus mehr blockieren kannHandbuch überarbeitet: DirSyncBL.exe (per build_exe.bat
gebaut) wird jetzt als normaler, empfohlener Startweg beschrieben — start.bat/
Python-Quellcode als Alternative für Entwicklung oder portable Nutzung ohne Build-Schritt
|
| 2.0.3 2026-08 |
Bugfix: Die Auto-Checkbox in der Job-Verwaltung und die Checkboxen im Ordner-Auswahldialog (Filter-Ausschlüsse) nutzten bisher Unicode-Ballot-Box-Symbole (☐/✔), die auf manchen Windows-Systemen/Schriftarten winzig und kaum als Checkbox erkennbar rendern (wiederholtes Nutzer-Feedback nach v2.0.1/v2.0.2). Umgestellt auf schriftartunabhängige ASCII-Klammer-Notation „[X]" (an) / „[ ]" (aus) — dadurch auf jedem System garantiert gut lesbar. Zugehörige Tabellenspalten leicht verbreitert |
| 2.0.2 2026-08 |
Kritischer Bugfix: Ein experimenteller globaler Stil-Mechanismus aus v2.0.1
(Tk-Optionsdatenbank für sämtliche Schaltflächen im Programm) konnte auf manchen Systemen beim
Start zu einem komplett leeren, eingefrorenen Hauptfenster führen — der Python-Prozess beendete
sich beim Schließen nicht. Dieser Mechanismus wurde entfernt; die Symbolleisten-Schaltflächen
bleiben flach, alle anderen Schaltflächen unverändert wie gewohnt Absturzsicherung ergänzt: Scheitert der Programmstart künftig aus einem anderen Grund, erscheint jetzt eine Fehlermeldung mit Details statt eines stillen leeren Fensters, und der Fehler wird zusätzlich in data/crash.log protokolliert
|
| 2.0.1 2026-08 |
GUI-Feinschliff (Nutzer-Feedback nach v2.0.0): alle Schaltflächen flacher/
dünnrandig statt als dicke 3D-Buttons, mit Hand-Cursor beim Überfahren (betrifft Symbolleiste,
Dialoge und Job-Verwaltung gleichermaßen) Tabellen-Spaltenüberschriften (z. B. „Auto · Job · Quelle · Ziel …") nicht mehr fett Aktiver Reiter (z. B. „🗂 Job-Verwaltung") wird jetzt farblich deutlich hervorgehoben Häkchen-Symbol in der Auto-Spalte der Job-Verwaltung vergrößert (☑ → ✔) und Spalte verbreitert, Zeilenhöhe der Tabellen leicht erhöht — insgesamt besser lesbar Einstellungen-Dialog verbreitert (520 → 680 px): die 5 Reiter (Farben, Schrift, Verhalten, Filter, Log & Verlauf) wurden bei der schmaleren Breite durch das großzügigere sv-ttk-Reiter-Padding abgeschnitten/überlappend dargestellt |
| 2.0.0 2026-08 |
Oberfläche neu strukturiert: Die separate „Profil"-Leiste (Speichern/Laden eines
einzelnen Ordnerpaares als Datei) und die einzelne „Auto-Monitor"-Checkbox im Hauptformular wurden
entfernt und vollständig in den Tab „🗂 Job-Verwaltung" integriert — dort jetzt zusätzlich
💾 Export … / 📂 Import … für .dsync-Dateien
(abwärtskompatibles Dateiformat, ältere Profil-Dateien bleiben importierbar)Modernes Erscheinungsbild: Tabs, Listen, Scrollbalken und Fortschrittsbalken nutzen jetzt das sv-ttk-Theme, dazu eine ruhigere, weniger farbintensive Grundpalette — bei
fehlendem sv-ttk automatischer Rückfall auf das klassische ErscheinungsbildFenster robuster gegen Verkleinern: höhere Mindestgröße (820 × 700 px) verhindert, dass Bedienelemente (z. B. Start/Stop in der Job-Verwaltung) beim Verkleinern aus dem sichtbaren Bereich verschwinden — behebt einen Darstellungsfehler aus v1.6.0 |
| 1.6.0 2026-08 |
Programmstart-Einstellungen (Tab ⚙ Einstellungen ▸ Verhalten ▸
„Programmstart"): „Mit Windows starten" legt/entfernt eine Autostart-Datei im
Windows-Autostart-Ordner (ruft beim Anmelden start.bat auf), Zustand
wird bei jedem Programmstart selbstheilend geprüft„Fenster minimiert starten": Fenster startet minimiert in der Taskleiste — gilt für jeden Start, nicht nur Autostart Als Auto-Monitor markierte Jobs (Tab „🗂 Job-Verwaltung") laufen dabei unabhängig vom Fensterzustand automatisch wieder an Handbuch-Farbschema gedämpft (weniger kräftiges Blau) |
| 1.5.0 2026-08 |
Neuer Tab „🗂 Job-Verwaltung": wiederverwendbare Jobs anlegen, bearbeiten, duplizieren und löschen —
gespeichert direkt in data/config.json (Name, Quelle, Ziel, Modus, Optionen, Filter)Mehrere Jobs gleichzeitig: jeder gestartete Job läuft in einem eigenen Hintergrund-Thread — beliebig viele Jobs können parallel synchronisieren oder ihren Ordner überwachen Live-Übersicht: Status je Job (Bereit / Läuft mit Fortschritt / Überwacht / Fehler) direkt in der Tabelle sichtbar Auto-Monitor je Job: eigenes Häkchen pro Job — an-/ausklickbar, überwachter Ordner startet automatisch wieder beim nächsten Programmstart Tab „Verlauf (Jobs)" in „Verlauf (Historie)" umbenannt, um Verwechslung mit der neuen Job-Verwaltung zu vermeiden Kleinere Aufräumarbeiten an der Oberfläche |
| 1.4.25 2026-07 |
Bugfix „Ordner ausschließen": Der Auswahldialog las beim Öffnen den kompletten Ordnerbaum rekursiv ein — im GUI-Thread. Bei großen Ordnern (v. a. auf NAS/Netzlaufwerken) fror dadurch das gesamte Programm ein Jetzt echtes Lazy Loading: Beim Öffnen wird nur die erste Ordner-Ebene geladen (ein einziger Verzeichniszugriff), tiefere Ebenen erst beim Aufklappen des jeweiligen Knotens — der Dialog öffnet damit auch bei riesigen Ordnerbäumen sofort Interne Vereinfachung: leichtgewichtige Checkbox-Verwaltung statt eines tk-Objekts pro Ordner (weniger Speicher, schnellere Anzeige) Robuster gegen Zugriffsfehler: Neben PermissionError wird nun auch OSError (z. B. NAS-Verbindungsabbruch) abgefangenVorauswahl verbessert: Bereits ausgeschlossene Ordnernamen werden nun auch in Unterordnern korrekt als angekreuzt angezeigt |
| 1.4.24 2026-07 |
Paralleles Kopieren: Kopiervorgänge laufen jetzt gleichzeitig statt nacheinander Worker-Anzahl passt sich automatisch an: 5 parallel bei kleinen/mittleren Dateien, 2 bei Dateien >500 MB (schont Bandbreite pro NAS-Verbindung) Löschvorgänge (mirror-Modus) laufen weiterhin sequenziell nach den Kopien Fortschrittsbalken und Statuszeile bleiben dabei thread-sicher über die Queue aktuell Besonders spürbar bei vielen kleinen/mittleren Dateien über NAS/Netzlaufwerke Bugfix Stop-Button: Beim Klick auf „Stop" während des Vergleichs blieben verspätet eintreffende Status-Meldungen des Scan-Threads in der Anzeige hängen und überschrieben „Gestoppt" — sah aus, als würde der Vorgang weiterlaufen. Status-/Fortschrittsmeldungen werden jetzt verworfen, sobald eine Aktion gestoppt wurde |
| 1.4.23 2026-06 |
Code-Review Teil 2: 7 weitere Probleme behoben Sortierung: arbeitet jetzt auf allen Diffs, auch nach aktivem Filter korrekt Race condition: Watchdog-Thread ruft root.after nicht mehr direkt auf (→ Queue) _save_state: schreibt config.json nur noch bei echten Änderungen Scan: iterativer Stack statt Rekursion — kein Stack-Overflow bei tiefen Ordnern Scan: Timeout nach 30 Minuten (NAS-Trennung wird erkannt) DirPickerDlg: O(1) IID-Lookup statt linearem Scan fmt_size(0) zeigt jetzt "0 B" statt "0.0 B" |
| 1.4.22 2026-06 |
Code-Review: 11 Probleme behoben Duplikat-Code: _load_profile/_load_profile_path zusammengeführt → _apply_profile jobs_max wird jetzt korrekt in add_job respektiert (war hart auf 100 kodiert) _animate_bar kann nicht mehr mehrfach gleichzeitig laufen Toter Code entfernt: ttk-Progressbar (nie gepackt), src_exc/dst_exc, n_total tkinterdnd2 aus Bootstrap-Pflichtliste entfernt (schlägt auf vielen Systemen fehl) Logikfehler: doppeltes own_bg in _colorize korrigiert |
| 1.4.21 2026-06 |
EXE-Build: build_exe.bat + DirSyncBL.spec für PyInstallerEXE läuft ohne Python-Installation auf jedem Windows-PC Pfad-Handling für PyInstaller (_RES_BASE / _BASE) korrekt implementiert |
| 1.4.20 2026-06 |
Profil-History: voller Quellpfad, Zielpfad in der Mitte gekürzt (Anfang … Ende) |
| 1.4.19 2026-06 |
Profil-History: zeigt jetzt Quelle → Ziel vorne, dann Profilname |
| 1.4.18 2026-06 |
Profil-History: zeigt jetzt Name und Pfad an |
| 1.4.17 2026-06 |
Profil-History: wird jetzt korrekt gespeichert und angezeigt (Ursache: fehlender recent_profiles-Eintrag in bestehender config.json) |
| 1.4.16 2026-06 |
Filter-Logik korrigiert: Klick auf Button zeigt NUR diese Kategorie an Nochmal klicken → alle Kategorien wieder anzeigen „Alle"-Button zeigt ebenfalls alle Kategorien |
| 1.4.15 2026-06 |
Filter sofort: Umschalten zwischen Filter-Kategorien ist jetzt augenblicklich Technisch: statt löschen+neu einfügen wird detach/reattach verwendet — die 30.000 Einträge bleiben im Speicher, werden nur ein-/ausgeblendet |
| 1.4.14 2026-06 |
Profil-Historie: Schaltfläche „🕐 ▾" neben „Laden" zeigt die letzten 8 verwendeten Profile — direktes Laden per Klick, ohne Dateidialog Nicht mehr vorhandene Profile werden automatisch aus der History entfernt Filter-Buttons: schnelleres Leeren der Liste bei 30.000+ Einträgen |
| 1.4.13 2026-06 |
Filter-Buttons: funktionieren jetzt auch bei sehr großen Listen (30.000+ Dateien) Ursache: Python-Argument-Limit bei delete(*30000_items) — jetzt einzeln gelöscht Button-Farben bleiben nach Filter-Anwendung korrekt erhalten |
| 1.4.12 2026-06 |
Filter-Buttons: Logik komplett neu — einheitliche Keys durchgängig Farben der Filter-Chips zeigen jetzt korrekt aktiv/inaktiv Umschaltverhalten zuverlässig: einzeln an/aus, letzter aktiver → alle ein |
| 1.4.11 2026-06 |
Filter-Buttons: intuitives Umschaltverhalten Klick auf einen Button → nur diese Kategorie anzeigen (Solo-Modus) Nochmal klicken → alle Kategorien wieder anzeigen |
| 1.4.10 2026-06 |
Filter-Buttons in der Legende: Klick auf „Nur Quelle", „Nur Ziel", „Geändert" oder „Identisch" zeigt nur diese Einträge — Klick nochmal zeigt alle wieder „Alle"-Button setzt Filter komplett zurück Statuszeile zeigt „Angezeigt: N" wenn ein Filter aktiv ist Fortschrittsbalken: dezenteres Blau (#5B9BD5 statt #0D47A1) |
| 1.4.9 2026-06 |
Parallel-Scan: Quelle und Ziel werden gleichzeitig gescannt (zwei Threads) — halbiert die Scan-Zeit bei NAS/Netzlaufwerken Fortschrittsbalken: eigene Canvas-Animation — funktioniert zuverlässig auf allen Windows-Themes Indeterminate-Balken: wandernder Block während Scan-Phase Determinate-Balken: exakter Prozentsatz während Vergleich und Sync |
| 1.4.8 2026-06 |
Performance-Optimierungen Scan: os.scandir() statt glob() — bis zu 30× schneller (stat+name in einem Syscall)Scan: Ausgeschlossene Ordner werden sofort übersprungen, kein Abstieg in den Ordner Vergleich: Config-Lookup ( use_hash) einmal statt bei jeder DateiVergleich + Sync: max. 200 Fortschritts-Updates statt bei jeder einzelnen Datei Sync: Log-Einträge nur bei Fehlern — kein Queue-Overhead pro kopierter Datei Queue-Pump: 40 ms statt 80 ms — flüssigere Status-Anzeige |
| 1.4.7 2026-06 |
Buttons „Vergleichen" und „Synchronisieren": lesbare Farbe im deaktivierten Zustand (tkinter ignoriert fg bei disabled — disabledforeground explizit gesetzt) |
| 1.4.6 2026-06 |
Legende-Chips: zeigen jetzt korrekt die Farben aus den Einstellungen Legende-Chips: werden bei Theme-Änderung sofort aktualisiert Fortschrittsbalken: sichtbar auf allen Windows-Themes (vista/winnative/clam) |
| 1.4.5 2026-06 |
Protokoll: doppelter Timestamp behoben (Engine + UI hatten beide einen gesetzt) Protokoll-Schrift: Segoe UI 10 pt statt Consolas 9 pt — besser lesbar Protokoll: horizontale Scrollbar ergänzt, Zeilenabstand erhöht Fehler-Meldungen im Protokoll fett + rot hervorgehoben |
| 1.4.4 2026-06 |
Vergleich: wandernder Fortschrittsbalken (indeterminate) während Scan-Phase Scan-Status zeigt Datei-Anzahl alle 50 Dateien: »Scanne ‹Ordner› … 350 Dateien« Nach Scan: determinate Balken zeigt Fortschritt beim Eintragsvergleich Progressbar wird sauber zurückgesetzt nach Abschluss/Stop |
| 1.4.3 2026-06 |
Einstellungen-Button farbig (grau-blau) Zonen-Hintergründe dezenter (heller Pastell) Status-Anzeige (laufende Aktion) als orange Pill in Toolbar sichtbar Datei-Statuszeile blendet sich aus wenn nichts läuft |
| 1.4.2 2026-06 |
Schriftgröße Standard 10 pt (war 9) Icon korrekt in Titelleiste und Taskleiste Farbige Bereiche im Hauptfenster (Ordner, Filter, Modus, Optionen) Statuszeile zeigt aktuell kopierte/gelöschte Datei prominenter Spiegel-Warnung im Tooltip und Handbuch hervorgehoben |
| 1.4.1 2026-06 |
Erweiterte Einstellungen: 5 Tabs statt 2 — Verhalten, Filter-Standards, Log & Verlauf Bestätigungs-Dialoge konfigurierbar (Spiegel-Modus, allgemeiner Sync, Fertig-Dialog) Monitor-Verzögerung einstellbar (Standard 2500 ms) Zeitstempel im Protokoll ein/aus schaltbar Max. Protokoll-Zeilen und Verlauf-Einträge einstellbar Standard-Filter und Standard-Sync-Modus in Einstellungen speicherbar |
| 1.4.0 2026-06 |
Filter-Funktion: Dateien und Ordner per Wildcard-Muster ausschließen Bootstrap-Installer: Automatische Paket-Installation beim ersten Start Kein Systray mehr: [X] beendet das Programm direkt Filter werden in Profilen mitgespeichert |
| 1.3.0 | Profile speichern/laden (.dsync), Profil-Leiste, Versionsnummer in config.json |
| 1.2.0 | Bidirektionaler Sync-Modus, MD5-Hash-Vergleich, Verlauf (Jobs), Protokoll-Export |
| 1.0.0 | Erstveröffentlichung: Vergleich, Neu/Geändert- und Spiegel-Modus, Auto-Monitor, Systray, Drag & Drop, Einstellungs-Dialog |