KombiTool v0.80

Autor: Bernhard Lickert  |  Entwickelt mit Claude (Anthropic)  |  Copyright 2026

Benutzung auf eigene Gefahr. Kein Haftungsanspruch für Schäden jeglicher Art.

⚙️ Installation

Voraussetzungen

Python 3.10 oder neuer  ·  Windows 10/11  ·  Internetverbindung beim ersten Start (Pakete werden automatisch installiert)

⭐ Empfohlene Startvariante ist die EXE (dist\KombiTool.exe): eine einzige Datei, ohne installiertes Python lauffähig, ohne Konsolenfenster und unabhängig von Python-Updates. Sie wird einmal mit build_exe.bat erzeugt — siehe EXE erstellen. Die folgenden Skript-Varianten sind der Weg dorthin und bleiben für Entwicklung und schnelle Änderungen nützlich.

Variante A – Automatisch (empfohlen für den Skriptbetrieb)

  1. ZIP entpacken in einen beliebigen Ordner
  2. install.bat doppelklicken – installiert alle fehlenden Python-Pakete
  3. start_kombitool.bat oder start_kombitool.vbs (ohne Konsolenfenster) doppelklicken

Variante B – Manuelle Installation

In einem Terminal-Fenster:

pip install customtkinter pystray pillow psutil pyperclip

Dann starten mit: python kombi_tool.py

Benötigte Python-Pakete

customtkinterModernes GUI-Framework
pystraySystray-Icon
pillowBildverarbeitung (Screenshot)
psutilSysteminformationen
pyperclipZwischenablage

🚀 Start & Bedienung

🪲

Systray-Icon

KombiTool läuft im Windows-Systray (Benachrichtigungsbereich rechts unten). Rechtsklick auf das Libellen-Icon öffnet das Menü mit allen Tools.

Es kann immer nur eine Instanz gleichzeitig laufen – ein zweiter Start zeigt eine Warnung.

📋

Logdatei

KombiTool protokolliert automatisch in kombitool.log im Datenordner – ab Werk %USERPROFILE%\KombiTool\, einstellbar unter Speicherort der Daten.

INFOStart, Beenden, jedes Tool-Öffnen
WARNINGWatchdog-Eingriffe (GUI-Queue neu gestartet)
ERRORExceptions in der GUI-Queue, Fehler in Tool-Builds
CRITICALUnbehandelte Exceptions (via sys.excepthook)

Bei Problemen (Einfrieren, Abstürzen) diese Datei öffnen — Format: 28.06.2026 13:30:00 INFO Öffne: DirComm

🚀

Autostart mit Windows

Systray-Rechtsklick → „Mit Windows starten" setzt oder entfernt einen Eintrag in HKCU\Software\Microsoft\Windows\CurrentVersion\Run. Nur für den aktuellen Benutzer, kein Administratorrecht nötig. Ein Häkchen zeigt den aktuellen Zustand — es wird bei jedem Öffnen des Menüs frisch aus der Registry gelesen, bleibt also auch korrekt, wenn der Eintrag extern (z.B. mit dem Sysinternals-Tool Autoruns) entfernt wurde.

Beim Skript-Betrieb trägt KombiTool wscript.exe start_kombitool.vbs ein — dadurch erscheint beim Windows-Start kein Konsolenfenster. Bei der PyInstaller-EXE wird direkt der Pfad zur KombiTool.exe eingetragen.

🧰 Tools – Übersicht

📁 DirCommVerzeichnisbaum-Browser mit Dateioperationen, Suche, leeren Ordnern und Altersanalyse
🔎 DuplikatfinderDoppelte Dateien finden (Größe + SHA1-Hash) und aufräumen
🆚 DirVergleichZwei Ordnerbäume vergleichen (z.B. lokal vs. NAS-Backup)
📸 ScreenshotBereich auswählen und mit Annotationen versehen — global per Tastenkürzel (Vorgabe F9, wählbar)
📏 PixellinealPixelgenaues Lineal (horizontal/vertikal, mm/cm/px/inch)
🎨 ColourPickerFarbe unter dem Mauszeiger erfassen und speichern
💬 NotizzettelFormatierter Texteditor mit mehreren Tabs und Auto-Save
🌐 IP-InfoLokale IP-Adressen und Netzwerkadapter auf einen Blick
🔁 TracerouteNetzwerkroute zu einem Ziel verfolgen
🖥️ SysteminfoCPU, RAM, Laufwerke, GPU, Monitor, Netzwerk
⚙️ EinstellungenFünf Reiter: Screenshot-Tastenkürzel, Darstellung (Erscheinungsbild, Schriftgröße), Speicherort der Daten, Datenimport, Über – siehe Einstellungsfenster

📁 DirComm

Verzeichnisbaum-Browser mit Dateigrößen, Einträgen, Datum und Typ. Unterstützt lokale Laufwerke und Netzlaufwerke.

Navigation

Pfad eingeben + EnterVerzeichnis direkt anspringen
📂Ordner-Dialog öffnen
⬆Eine Ebene höher navigieren
⬅Zurück zur vorherigen Ansicht (History)
↺Aktuellen Ordner neu einlesen
∅Alle rekursiv leeren Ordner unterhalb des aktuellen Pfads auflisten (Rechtsklick zum Löschen; ↺ setzt die Ansicht zurück)
Rechtsklick auf Ordner📊 Altersanalyse: Dateianzahl, Gesamtgröße, älteste und neueste Datei (rekursiv)
👁Versteckte Dateien/Ordner ein-/ausblenden
Doppelklick OrdnerAufklappen / Zuklappen
Doppelklick DateiDatei mit Standardprogramm öffnen

Spalten

NameDatei-/Ordnername (inkl. Unterordner-Einrückung)
GrößeDateigröße oder rekursive Ordnergröße (wird im Hintergrund berechnet)
█ BalkenProportionaler Größenbalken – skaliert automatisch mit dem größten Eintrag
EinträgeAnzahl direkter Unterelemente
DatumÄnderungsdatum TT.MM.JJJJ – HH:MM
Typ„Ordner" oder Dateiendung (JSON, PDF, …)
Klick auf Spaltenkopf sortiert auf- oder absteigend
Spaltenrand ziehenSpaltenbreite anpassen – wird beim Schließen gespeichert
Doppelklick auf Spalten-TrennstrichSpalte auf optimale Breite anpassen (wie im Windows-Explorer)

Suche

Suchfeld + EnterRekursive Suche im aktuellen Verzeichnis (Hintergrund-Thread, GUI bleibt reaktionsfähig)
ESC oder ✕Suche beenden, Verzeichnisansicht zurücksetzen
Treffer erscheinen häppchenweise während die Suche läuft. Max. 500 Treffer. Relativer Pfad ab Wurzel wird angezeigt.

Dateioperationen (Rechtsklick)

Im Explorer öffnenOrdner im Windows-Explorer anzeigen
ÖffnenDatei mit Standardprogramm öffnen
Pfad kopierenVollständigen Pfad in Zwischenablage
🗑 Löschen …In Papierkorb verschieben (mit Bestätigung)

Drag & Drop

Eintrag halten + ziehenAuf Zielordner ziehen → Popup wählt „✂ Verschieben" oder „📄 Kopieren"
Zielordner wird hellblau hervorgehoben. Schutz vor Drops in eigene Unterordner.

Einstellungen (automatisch gespeichert)

Spaltenbreiten, Fenstergröße/-position und letzter Pfad werden in dircomm_prefs.json im Datenordner gespeichert.

Fensterposition und mehrere Monitore (seit v0.77): Beim Start prüft DirComm, ob die gespeicherte Position auf einem der jetzt angeschlossenen Monitore liegt. Stand das Fenster zuletzt auf einem externen Monitor, der gerade fehlt, öffnet es sich mittig auf dem Hauptbildschirm – statt wie bis v0.76 außerhalb des sichtbaren Bereichs, wo nur noch das Taskleisten-Symbol zu sehen war. Ist der Monitor wieder da, bleibt die gemerkte Position gültig. Außerdem wird die Position nicht mehr gespeichert, solange das Fenster minimiert oder maximiert ist.

💡 Fenster trotzdem einmal nicht zu sehen (bei jedem Programm)? Taskleisten-Symbol anklicken, dann Win+Umschalt+← – das schiebt das Fenster auf den anderen Monitor. Oder Umschalt+Rechtsklick aufs Symbol → „Verschieben", einmal eine Pfeiltaste drücken, dann mit der Maus holen.
💡 Netzlaufwerke: DirComm ist für Netzlaufwerke optimiert. Verzeichnis-Scans und Größenberechnung haben einen Timeout von 8 Sekunden – bei langsamen Verbindungen erscheint „⚠ Timeout beim Lesen" statt eines Einfrierens.

🔎 Duplikatfinder

Findet doppelte Dateien unterhalb eines Startordners. Dreistufiger Vergleich: erst Dateigröße, dann SHA1-Hash der ersten 256 KB, zuletzt SHA1 der gesamten Datei — nur dort, wo die vorherige Stufe Übereinstimmung zeigt. Dadurch werden auch auf Netzlaufwerken nur echte Kandidaten vollständig gelesen.

MindestgrößeDateien darunter werden ignoriert (Standard: ≥ 100 KB)
▶ Start / ⏹ StopSuche starten bzw. jederzeit abbrechen
DoppelklickDatei öffnen
RechtsklickIm Explorer zeigen · Pfad kopieren · In Papierkorb
Doppelklick auf Spalten-TrennstrichSpalte auf optimale Breite anpassen (wie im Windows-Explorer)

Sammel-Auswahl

Klick auf ✓-SpalteDatei zur Auswahl hinzufügen bzw. entfernen (☐/☑)
⚡ Auto-AuswahlMarkiert pro Gruppe alle Kopien — außer der ältesten oder neuesten Datei (wählbar)
☐ AufhebenGesamte Auswahl zurücksetzen
🗑 Auswahl in PapierkorbAlle ausgewählten Dateien verschieben — der Button zeigt Anzahl und Gesamtgröße
💡 Gruppenschutz: Sind in einer Gruppe alle Dateien ausgewählt (es bliebe keine Kopie übrig), warnt der Duplikatfinder vor dem Verschieben. Das Verschieben läuft im Hintergrund — auch bei vielen Dateien auf dem NAS bleibt das Fenster bedienbar. Hinweis: Auf Netzlaufwerken gibt es meist keinen Papierkorb — dort löscht Windows endgültig.
💡 Die Gruppen-Zeile zeigt, wie viel Speicher durch Löschen der überzähligen Kopien frei würde. Gelöscht wird immer in den Papierkorb — nichts ist endgültig weg.

🆚 DirVergleich

Vergleicht zwei Ordnerbäume — typischer Einsatz: lokaler Ordner gegen NAS-Backup ("ist alles gesichert?"). Das Ergebnis ist eine Statusliste aller Einträge.

nur linksEintrag existiert nur im linken Baum (blau)
nur rechtsEintrag existiert nur im rechten Baum (grün)
unterschiedlichBeidseitig vorhanden, aber Größe/Datum weichen ab (orange)
identischGröße und Datum stimmen überein (standardmäßig ausgeblendet)
Datum berücksichtigenÄnderungsdatum mit ±2 s Toleranz vergleichen (abschaltbar — dann zählt nur die Größe)
RechtsklickLinks/Rechts im Explorer zeigen · relativen Pfad kopieren
Doppelklick auf Spalten-TrennstrichSpalte auf optimale Breite anpassen (wie im Windows-Explorer)
💡 Reines Lese-Werkzeug: DirVergleich kopiert, verschiebt und löscht nichts. Die Anzeige ist auf 5000 Zeilen begrenzt; die Zusammenfassung in der Statuszeile zählt immer alle Einträge.

📸 Screenshot

Bereich auf dem Bildschirm aufziehen → Editor öffnet sich mit dem aufgenommenen Ausschnitt. Start über das Systray-Menü oder jederzeit systemweit per Tastenkürzel (solange KombiTool läuft). Ab Werk ist das F9; seit v0.77 lässt es sich ändern oder abschalten – am schnellsten über den Systray-Eintrag ⌨️ Screenshot-Tastenkürzel …. Der Systray-Eintrag zeigt das gerade eingestellte Kürzel in Klammern.

Overlay-Steuerung

LMB ziehenBereich auswählen
ESCAbbrechen

Editor-Tools

▭ RechteckRechteck aufziehen
→ PfeilPfeil ziehen
— LinieLinie ziehen
T TextText an Bildmitte einfügen
▦ VerpixelnBereich aufziehen → zuverlässig unkenntlich machen
🎨Farbe für Annotationen wählen
↩ UndoLetzte Annotation rückgängig
💾 SpeichernPNG im Unterordner Screenshots\ des Datenordners speichern
📋 KopierenMit Annotationen in Zwischenablage kopieren
💡 Verpixeln: Der Bereich wird in Blöcken von ca. 8–10 px verpixelt – auch nach JPEG-Kompression zuverlässig unlesbar.
⚠️ Das Overlay erfasst alle Monitore physisch (all_screens=True) und positioniert sich seit v0.69 am Ursprung des virtuellen Bildschirms — auch Monitore links/oberhalb des Hauptmonitors werden korrekt erfasst.

📏 Pixellineal

Pixelgenaues Lineal das auf dem Bildschirm positioniert wird.

Steuerung

Horizontal / VertikalAusrichtung wählen
Lineal überfahrenDie Echtzeit-Lupe erscheint schon vor dem Klick — Startpunkt vergrößert ansetzen
Linke Maustaste + ZiehenMessen — die Lupe folgt der Cursorlinie
MausradLupen-Vergrößerung umschalten: ×2, ×4, ×8, ×12, ×16
Rechte Maustaste + ZiehenLineal verschieben — die Lupe zeigt dabei den 0-Punkt (linke/obere Linealkante) vergrößert, um den Linealanfang exakt an einer Objektkante anzusetzen
Klick auf Messwert / [Einheit]Einheit wechseln: px → mm → cm → inch
Fensterrand-Griff (hellblau)Lineal verlängern oder verkürzen
⇔ / ⇕-ButtonLänge exakt per Zahleneingabe setzen

Echtzeit-Lupe

Sobald der Mauszeiger über dem Lineal steht (schon vor dem ersten Klick), zeigt ein kleines Fenster den vergrößerten Bildschirminhalt direkt neben dem Lineal (beim horizontalen Lineal ober-/unterhalb, beim vertikalen links/rechts — der Cursor selbst steht ja auf dem Lineal). Die rote Fadenkreuzlinie liegt exakt auf der Cursorposition: damit lassen sich Start- und Endmarke pixelgenau an Objektkanten ansetzen. Die Lupe verschwindet, sobald der Mauszeiger das Lineal verlässt oder über einem Bedienelement steht.

💡 Das Lineal ist immer 1:1 mit dem Bildschirm — der Teilstrich 100 liegt exakt 100 physische Pixel vom Nullpunkt entfernt, Messwerte entsprechen immer echten Bildschirmpixeln. (Der frühere Skalen-Zoom, der die Skala vom Bildschirm entkoppelte, wurde durch die Echtzeit-Lupe ersetzt.) Das Lineal kann über den gesamten physischen Monitor gezogen werden (auch bei 175% DPI-Skalierung).

🎨 ColourPicker

Erfasst die Farbe unter dem Mauszeiger in Echtzeit – unabhängig vom aktiven Fenster.

Hotkeys (global, auch außerhalb des Fensters)

F2Aktuelle Farbe in Palette speichern
📌 MerkenFarbe speichern (Button im Fenster)

Fenster-Buttons

Freeze / LiveFarberfassung einfrieren / fortsetzen
HEX-WertKlick kopiert HEX-Code in Zwischenablage
Gespeicherte FarbeKlick kopiert HEX-Code in Zwischenablage

Die Palette wird in colourpicker_history.txt im Datenordner gespeichert.

💬 Notizzettel

Formatierter Texteditor mit mehreren Tabs, automatischer Speicherung und Tagebuch-Funktion.

Tabs

+ ButtonNeuen Tab anlegen
× ButtonTab löschen (letzter Tab ist nicht löschbar)
Doppelklick auf TabTab umbenennen (Eingabe mit Enter bestätigen, ESC abbrechen)
Alle Tabs werden gemeinsam in einer JSON-Datei gespeichert. Ältere Einzelnotizen werden beim ersten Start automatisch als „Notiz 1" migriert.

Formatierung

BFett (Auswahl markieren, dann Button)
IKursiv
UUnterstrichen
S̶Durchgestrichen
H1 / H2Überschrift groß / mittel
• ListeAufzählungspunkt einfügen
↩ UndoRückgängig
Ctrl+AAlles auswählen

Schriftgröße

Dropdown in der Toolbar: 10 / 12 / 14 pt. Gilt pro Tab individuell. Auswahl wird gespeichert.

Tagebuch-Funktion

Zeitstempel-Button fügt Trennlinie und aktuelles Datum/Uhrzeit ein – so entsteht ein chronologisches Tagebuch. Beim Öffnen eines leeren Tabs wird automatisch ein Zeitstempel eingefügt.

Speicherung

Automatisch 2 Sekunden nach jeder Änderung und alle 30 Sekunden.
Speicherort: Notizen\notizen.json im Datenordner; der vollständige Pfad steht unten im Notizzettel-Fenster und öffnet den Ordner per Klick.

🌐 IP-Info

Zeigt alle lokalen IP-Adressen und Netzwerkadapter auf einen Blick.

📋 ButtonIP-Adresse in Zwischenablage kopieren
Zeigt IPv4-Adressen aller aktiven Netzwerkadapter (LAN, WLAN, VPN, …)

🔁 Traceroute

Verfolgt die Netzwerkroute zu einem Ziel-Host mit zwei Modi und optionaler Weltkarte.

Steuerung

Ziel eingebenIP-Adresse oder Hostname (z. B. 8.8.8.8 oder google.com)
Rechtsklick ins ZielfeldMenü mit Ausschneiden · Kopieren · Einfügen · Alles markieren · Feld leeren. „Einfügen" holt aus der Zwischenablage automatisch das eigentliche Ziel heraus: aus einer kopierten tracert-Zeile die IP-Adresse (auch in eckigen Klammern), aus einer kopierten URL den Hostnamen. Zeilenumbrüche und Leerzeichen werden entfernt, ein bereits eingetragenes Ziel wird ersetzt. Zusätzlich funktionieren Strg+V und Strg+A.
▶ StartTraceroute starten
⏹ StopLaufende Traceroute sofort abbrechen

Modi

tracertSchnell, ICMP-Protokoll. Viele Router blockieren ICMP → Zeitüberschreitung ist normal.
pathpingLangsamer (~2 Min.), sendet mehrere Pakettypen — kommt oft durch wo tracert nur Timeouts zeigt. Empfohlen bei vielen Zeitüberschreitungen.
💡 Beide Modi erzwingen IPv4 (-4). IPv6-Adressen werden für die Weltkarte nicht unterstützt.
⚠️ Zeitüberschreitungen (* * *) sind kein Fehler — viele ISP-Router blockieren ICMP-Pakete absichtlich. Wenn Anfang und Ende antworten ist die Route trotzdem vollständig.

Ausgabe-Buttons

📊 Tabellen-AnsichtGrafische HTML-Tabelle mit Latenz-Balken im Browser
🗺 WeltkarteÖffnet interaktive Weltkarte im Browser — Hops werden geografisch verortet

Weltkarte

Die Weltkarte verwendet Leaflet.js für die Karte. Die Standorte der Hops ermittelt KombiTool selbst, bevor sich der Browser öffnet: zuerst mit einer einzigen Sammelabfrage bei ip-api.com, für nicht gefundene Adressen einzeln über ipwho.is als Ausweichdienst. Beide Dienste sind kostenlos, brauchen keinen API-Schlüssel, wohl aber eine Internetverbindung. Während der Abfrage steht in der Statuszeile „Verorte … Hops". Danach meldet sie, wie viele Hops gefunden wurden.

💡 Seit v0.79 fragt das Programm, nicht mehr der Browser. Bis v0.78 holte die Kartenseite die Standorte selbst bei http://ip-api.com. Firefox mit HTTPS-Only bzw. „Nur-HTTPS-Modus" schreibt eine solche Adresse aber auf https:// um. Den kostenlosen Zugang von ip-api gibt es nur unverschlüsselt, er antwortet dann mit SSL unavailable for this endpoint. Die Seite zeigte daraufhin „Keine Hops verortet (alle privat oder Timeout)", obwohl alle Adressen öffentlich waren. Seit v0.79 spielen Browser-Einstellungen und Werbeblocker (uBlock Origin) für die Verortung keine Rolle mehr.
⚠️ Wenn trotzdem keine Hops erscheinen: Die Seitenleiste nennt jetzt die tatsächliche Ursache. „Name nicht auflösbar" bedeutet meist, dass ein DNS-Filter die Dienste sperrt (z. B. dnsforge am Netzwerkadapter oder Proton NetShield). Dann ip-api.com und ipwho.is dort freigeben. „zu viele Anfragen" heißt: eine Minute warten und die Weltkarte erneut öffnen. Die Hop-Liste rechts und die Tabellen-Ansicht bleiben in jedem Fall nutzbar.

Kartenmaterial umschalten

Oben links auf der Karte lässt sich zwischen fünf Kartenbildern wählen. Alle sind ohne API-Schlüssel nutzbar und wurden daraufhin geprüft, dass sie auch ohne Referer ausliefern:

Dunkel (Esri)Voreinstellung — graue, zurückhaltende Karte, passt zum dunklen Seitenlayout
Hell (Esri)Helle Variante derselben Karte, gut zum Ausdrucken
Straßen (Esri)Straßenkarte mit Orts- und Straßennamen
Topografie (OpenTopoMap)OSM-Daten mit Geländeschummerung; zugleich die Ausweichquelle, weil sie von einem anderen Anbieter kommt als die Esri-Ebenen
Satellit (Esri)Luft-/Satellitenbild
💡 Warum die Umstellung? Bis v0.73 kamen die Kacheln von CARTO. Dieser Dienst hat sein bis dahin freies Kartenmaterial 2026 hinter einen API-Schlüssel gestellt — auf der Karte lag seitdem quer über jedem Ausschnitt der Schriftzug „API KEY REQUIRED". Fällt ein Kachelserver aus, schaltet die Seite nach wenigen Fehlversuchen selbsttätig auf OpenTopoMap um und meldet das in der Seitenleiste.
⚠️ Warum keine OpenStreetMap-Standardkarte? In v0.74 war sie noch dabei und lieferte statt der Karte ein Bild mit „Access blocked — Referer is required by tile usage policy". Die OSM-Kachelserver werden von Freiwilligen betrieben und verlangen, dass der Browser mitsendet, von welcher Seite die Anfrage kommt (Referer). Diese Weltkarte wird als Datei direkt von der Festplatte geöffnet (file://) — eine solche Seite sendet keinen Referer, und daran lässt sich von der Seite aus nichts ändern. Da der Server ein gültiges Sperrbild zurückgibt, meldet Leaflet dabei nicht einmal einen Kachelfehler, die automatische Umschaltung konnte also nicht greifen. Seit v0.75 ist die Quelle deshalb ganz entfernt; die OSM-Daten stecken weiterhin in OpenTopoMap und in den Esri-Karten.
MarkerZeigen die Hop-Nummer in der Latenzfarbe. Liegen mehrere Hops laut GeoIP am selben Ort, werden sie leicht versetzt, damit jeder sichtbar und anklickbar bleibt.
Farben🟢 unter 30 ms · 🟡 30–100 ms · 🔴 über 100 ms · ⚫ grau = Timeout. Die Farbe zeigt nur die Antwortzeit — Rot ist kein Fehler, bei Zielen in Übersee sind über 100 ms normal. Legende unten links auf der Karte.
Gestrichelte MarkerStandort unsicher: Die Antwortzeit ist kleiner, als das Licht für die angebliche Entfernung bräuchte (Glasfaser ≈ 100 km pro ms hin+zurück). GeoIP zeigt dann meist den Firmensitz des IP-Blocks, nicht den echten Router-Standort. Details im Klick-Popup.
Checkbox in der LegendeUnsichere Standorte aus der Routenlinie ausnehmen (standardmäßig an) — so zackt die Route nicht über falsch verortete Kontinente.
Maus über MarkerKurzinfo (seit v0.79): Hop-Nummer, Stadt, Land und Antwortzeit, bei unsicheren Standorten mit ⚠-Hinweis
Klick auf MarkerZeigt IP, Stadt, Land, ISP, Latenz — bei unsicheren Standorten mit Begründung (ms vs. km)
Sidebar rechtsAlle Hops inkl. Timeouts und privater IPs; ⚠ markiert unsichere Standorte

Private IPs (10.x, 192.168.x, 172.16–31.x), Provider-interne CGNAT-Adressen (100.64–127.x) und Link-local (169.254.x) werden auf der Karte übersprungen — sie haben keine sinnvolle Geolokalisierung. Die Marker erscheinen nach dem Öffnen kurz nacheinander in Hop-Reihenfolge, sodass sich die Route sichtbar aufbaut.

Ausgabe im Courier-Textfeld, scrollbar. Läuft im Hintergrund-Thread – GUI bleibt reaktionsfähig.

🖥️ Systeminfo

Umfassende Systeminformationen: CPU, RAM, GPU, Monitor(e), Laufwerke, Netzwerk, Python-Umgebung.

🔄 AktualisierenDaten neu einlesen (läuft im Hintergrund)
📋 Alles kopierenGesamte Ausgabe in Zwischenablage
📋 Auswahl kopierenMarkierten Text kopieren

Monitor-Sektion zeigt Auflösung, DPI, Skalierung und physische Größe (cm / Zoll) für jeden angeschlossenen Monitor.

⚙ Globale Schriftgröße

Drei Tools unterstützen eine global einstellbare Schriftgröße: DirComm, Notizzettel und Systeminfo.

Bedienung

⚙ ButtonOben rechts im Header des jeweiligen Tool-Fensters
Klein80 % der Normalschrift
NormalStandardgröße (100 %)
Groß120 % der Normalschrift
Sehr groß140 % der Normalschrift

Die Einstellung gilt sofort für alle offenen Fenster dieser drei Tools und wird in global_prefs.json im Datenordner gespeichert.

💡 Pixellineal, ColourPicker, IP-Info und Traceroute haben keinen ⚙-Button – dort ist eine Sofortaktualisierung technisch nicht möglich.

📂 Speicherort der Daten

Alle Werkzeuge legen ihre Daten in einem gemeinsamen Datenordner ab. Ab Werk ist das %USERPROFILE%\KombiTool\ – genau der Pfad, den die Versionen bis v0.75 fest verdrahtet hatten. Wer nichts umstellt, merkt vom Umbau also nichts.

Geändert wird der Ordner im Systray unter ⚙️ Einstellungen → Reiter „📂 Speicherort". Sinnvoll ist das zum Beispiel, wenn die Notizen auf einem synchronisierten Ordner (Proton Drive, OneDrive) oder auf dem NAS liegen sollen, damit sie auf mehreren Rechnern zur Verfügung stehen.

Was im Datenordner liegt

Notizen\notizen.jsonNotizzettel – Texte, Formatierungen, Tabs
notizen_prefs.jsonNotizzettel – Schriftgröße im Textbereich
global_prefs.jsonSchriftgröße und Erscheinungsbild (alle Werkzeuge)
dircomm_prefs.jsonDirComm – Fenster, Spalten, letzter Pfad
dircompare_prefs.jsonDirVergleich – zuletzt verglichene Ordner
colourpicker_history.txtColourPicker – gemerkte Farben
Screenshots\gespeicherte Bildschirmfotos
kombitool.logProtokolldatei

Umstellen – drei Möglichkeiten

VerschiebenVorgabe. Die vorhandenen Daten werden in den neuen Ordner übertragen und am alten Ort entfernt – aber erst, nachdem die Kopie nachweislich angekommen ist. Bricht das Kopieren ab, bleibt das Original unangetastet.
KopierenDie Daten liegen anschließend an beiden Orten; der alte Ordner bleibt als Sicherung.
Nur Pfad umstellenEs wird nichts bewegt. Am neuen Ort wird mit dem gearbeitet, was dort liegt (oder von vorn begonnen).
💡 Der gewählte Pfad wird nicht im Datenordner selbst gemerkt (das wäre ein Zirkelschluss), sondern in %LOCALAPPDATA%\KombiTool\location.json. Diese Datei ist absichtlich gerätelokal: auf jedem PC darf ein anderer Datenordner eingestellt sein, und ein Sync-Dienst nimmt die Einstellung nicht mit.
⚠️ Liegt der eingestellte Ordner auf einem Netzlaufwerk, das gerade nicht erreichbar ist, arbeitet KombiTool vorübergehend wieder im Vorgabeordner statt Daten zu verlieren oder eine leere Notizdatei anzulegen. Die Statusleiste des jeweiligen Fensters weist darauf hin. Sobald das Laufwerk wieder da ist, wird ohne Zutun der eingestellte Ordner benutzt – die zwischenzeitlich lokal entstandenen Änderungen holt man mit dem Datenimport nach.

Der Ordner darf nicht innerhalb des bisherigen liegen (und umgekehrt) – das würde die Daten verschachteln und wird abgewiesen.

📥

Daten importieren

Der Import holt Daten aus einem beliebigen anderen Ordner in den aktuellen Datenordner – etwa vom alten Pfad, von einem zweiten Rechner, aus einer Sicherung oder von einem USB-Stick. Der Quellordner wird dabei ausschließlich gelesen.

  1. ⚙️ Einstellungen → Reiter „📥 Import" öffnen
  2. Quellordner wählen (Durchsuchen …) – KombiTool listet auf, welche Bestände es dort gefunden hat, mit Größe
  3. Ankreuzen, was übernommen werden soll
  4. Verhalten bei bereits vorhandenen Daten festlegen (siehe Tabelle)
  5. Importieren
Vorhandenes behaltenVorgabe. Es wird nur übernommen, was am Ziel fehlt.
Notiz-Tabs anfügenDie Notizen aus der Quelle kommen als zusätzliche Tabs hinzu, bestehende bleiben unverändert. Namensgleiche Tabs erhalten den Zusatz „(Import)". Für die übrigen Bestände gilt „Vorhandenes behalten".
ÜberschreibenVorhandenes wird ersetzt. Von jeder überschriebenen Datei wird vorher eine Sicherung mit der Endung .vor_import angelegt.
💡 Bereits geöffnete Fenster zeigen importierte Daten erst, nachdem sie geschlossen und neu geöffnet wurden – der Notizzettel liest seine Datei beim Öffnen.

🎨 Darstellung

Seit v0.76 sieht KombiTool aus wie Markdown-Editor-BL: dieselbe Farbpalette, dieselbe Schrift (Segoe UI durchgehend), derselbe Aufbau – blau hinterlegte Kopf- und Werkzeugleiste mit kräftiger Unterlinie, helle Arbeitsfläche, dunkle Statusleiste mit Version und Handbuch-Link.

Hell, dunkel oder wie Windows

Wie WindowsVorgabe. Folgt der Windows-Einstellung „App-Modus" (Registry-Wert AppsUseLightTheme).
Hellimmer die helle Palette
Dunkelimmer die dunkle Palette

Die Umstellung wirkt sofort in allen offenen Fenstern, ein Neustart ist nicht nötig. Zu finden ist sie an zwei Stellen: im ⚙️-Einstellungsfenster (Reiter „🎨 Darstellung") und über den kleinen ⚙-Knopf oben rechts in DirComm, Notizzettel und Systeminfo (dort zusammen mit der Schriftgröße).

💡 Eine Ausnahme bleibt bewusst außerhalb der Palette: die Markierungsfarben im Screenshot-Editor (rote Auswahl, rote Zeichenfarbe, orangefarbener Objektrahmen). Sie liegen über einem beliebigen Bildschirmfoto und müssen auf jedem Bildinhalt sichtbar bleiben – auch im Dunkelmodus.

Schaltflächen (seit v0.78): Hauptknöpfe sind im hellen Modus dunkelgrau mit weißer Schrift, im Dunkelmodus hellgrau mit dunkler Schrift; Nebenknöpfe haben eine helle Fläche mit dunkler Schrift, Stop- und Löschknöpfe sind rot. Alle erreichen in beiden Modi mindestens 4,5:1 Kontrast (WCAG-Stufe AA). Bis v0.77.1 waren die Knöpfe im Dunkelmodus kaum lesbar.

Nebenbei behoben: bis v0.75 mischte das Programm zwei Schriftfamilien – die Schaltflächen liefen in Roboto (CustomTkinter-Vorgabe), die Textbereiche und Listen in Segoe UI. Jetzt gilt eine Familie für das ganze Programm.

⚙️ Einstellungsfenster NEU

Geöffnet über das Systray-Menü → ⚙️ Einstellungen. Seit v0.78 ist das Fenster in Reiter geteilt; jeder passt ohne Scrollen ins Fenster. Bis v0.77.1 war es eine lange Bildlaufseite, auf der das Tastenkürzel ganz unten kaum zu finden war.

⌨ TastenkürzelScreenshot-Tastenkürzel wählen oder abschalten – Einzelheiten. Erster Reiter, beim Öffnen ausgewählt.
🎨 DarstellungErscheinungsbild (wie Windows / hell / dunkel) und Schriftgröße – Einzelheiten
📂 Speicherortgemeinsamen Datenordner ändern (verschieben / kopieren / nur Pfad) – Einzelheiten
📥 ImportDaten aus einem anderen Ordner übernehmen; die Auswahlliste erscheint erst nach „Prüfen"
ℹ ÜberVersion, Autor, Haftungsausschluss, Knopf „Handbuch öffnen"

Direktzugang zum Tastenkürzel: Systray-Eintrag ⌨️ Screenshot-Tastenkürzel … öffnet dasselbe Fenster gleich auf diesem Reiter.

⌨️ Screenshot-Tastenkürzel

Das globale Tastenkürzel startet die Screenshot-Bereichsauswahl von überall aus. Ab Werk ist es F9. Umgestellt wird es über den Systray-Eintrag ⌨️ Screenshot-Tastenkürzel … (direkt unter „Screenshot") oder unter ⚙️ Einstellungen → Reiter „⌨ Tastenkürzel" – das ist der erste Reiter, er ist beim Öffnen schon ausgewählt; die Änderung wirkt sofort, ohne Neustart, und wird im Datenordner in global_prefs.json (Schlüssel screenshot_hotkey) gespeichert.

Auswahl

Zusatztastekeine, Strg, Umschalt, Alt, Strg+Umschalt, Strg+Alt, Umschalt+Alt, Strg+Umschalt+Alt
TasteF1–F12, Druck, Pause, Rollen, A–Z, 0–9
Tastenkürzel aktivHäkchen entfernen = kein Tastenkürzel; der Screenshot startet dann nur noch über das Systray-Menü
Standard (F9)setzt auf die Werksvorgabe zurück

Was abgelehnt wird – und warum

Kürzel, die beim normalen Arbeiten versehentlich auslösen würden, nimmt das Fenster nicht an; es bleibt dann beim bisherigen Kürzel und eine rote Zeile nennt den Grund:

Buchstabe/Ziffer allein oder nur mit Umschaltwürde bei jedem getippten „s" bzw. „S" auslösen – Buchstaben und Ziffern nur zusammen mit Strg oder Alt
Strg+Alt mit Q, E, M, 2, 3, 7, 8, 9, 0Strg+Alt ist auf deutschen Tastaturen dasselbe wie AltGr – damit schreibt man @ € µ ² ³ { [ ] }
Alt+F4schließt das aktive Fenster
💡 Wichtig zu wissen: KombiTool fängt die Taste nicht ab – das gerade aktive Programm bekommt sie ebenfalls. Deshalb eine Taste wählen, die dort nichts tut (F1 öffnet oft eine Hilfe, F5 lädt im Browser neu). Die Zusatztasten müssen genau stimmen: ist F9 eingestellt, löst Strg+F9 nicht aus.
Druck-Taste: Unter Windows 11 öffnet sie meist zusätzlich das Snipping Tool. Abschalten unter Windows-Einstellungen → Barrierefreiheit → Tastatur → „Druck-Taste zum Öffnen der Bildschirmausschnitt-Funktion verwenden". Alternativ Strg+Druck wählen.

📦 EXE erstellen – die empfohlene Startvariante

⭐ Die EXE ist die primäre Art, KombiTool zu starten. Sie enthält Python, alle Bibliotheken und den Programmcode in einer einzigen Datei. Warum das die bessere Wahl ist:
  • Kein Python nötig – die EXE läuft auch auf einem Rechner, auf dem kein Python installiert ist.
  • Unabhängig von Python-Updates – ein Versionswechsel oder ein umgestellter PATH (wie beim neuen Python Install Manager) kann die EXE nicht aus dem Tritt bringen.
  • Kein Konsolenfenster, schnellerer Start – gebaut wird mit --windowed; es entfällt der Umweg über pythonw bzw. die .vbs-Startdatei.
  • Sauberer Autostart – „Mit Windows starten" trägt dann direkt den Pfad zur KombiTool.exe ein statt eines Skriptaufrufs.
  • Ein Stück zum Weitergeben – eine Datei auf einen USB-Stick kopieren genügt, es ist keine Installation nötig.
Die Skriptvariante (start_kombitool.bat / .vbs) bleibt für Entwicklung und schnelle Änderungen sinnvoll — sie startet den unveränderten Quelltext, ohne dass neu gebaut werden muss.
  1. Einmalig die Python-Pakete installieren (install.bat) – PyInstaller holt build_exe.bat bei Bedarf selbst nach
  2. build_exe.bat doppelklicken. Seit v0.77.1 zeigt es zuerst, welche Python-Installation baut, und prüft, ob sich dort customtkinter, pystray, pillow, psutil und pyperclip importieren lassen. Fehlt etwas, wird es genau in diese Installation nachinstalliert; klappt das nicht, bricht es ab, ohne eine EXE zu bauen.
  3. Ergebnis: dist\KombiTool.exe – diese Datei starten (bzw. eine Verknüpfung davon auf den Desktop legen)
⚠️ Die EXE ist deutlich größer als das Python-Skript (~50–100 MB), weil der Python-Unterbau mit eingepackt wird. Nach jeder neuen Programmversion muss sie neu gebaut werden. Bei Problemen zuerst die Ausgabe von build_exe.bat lesen – sie nennt das verwendete Python und fehlende Pakete –, danach die PyInstaller-Dokumentation.
💡 Meldung „EXE unvollständig" beim Start? Dann fehlt in der EXE ein Paket – sie wurde mit einer Python-Installation gebaut, in der es nicht installiert war. KombiTool nennt die fehlenden Pakete und beendet sich. Abhilfe: build_exe.bat erneut ausführen.
Hintergrund: Bis v0.77 versuchte die EXE in diesem Fall, die Pakete selbst nachzuinstallieren. In der EXE startet dieser Aufruf aber nicht Python, sondern die EXE selbst – jede Instanz startete die nächste, am 23.09.2026 liefen so 138 KombiTool-Prozesse. Laufende Kette beenden: in der Eingabeaufforderung taskkill /F /T /IM KombiTool.exe.

📋 Versionshistorie

VersionÄnderungen
v0.80Veröffentlichung vorbereitet: Dokumentation und Testdaten ohne persönliche Angaben (Ortsangaben, Bildschirmdaten und wörtliche Rückmeldungen durch neutrale Beispiele ersetzt). Programmverhalten unverändert.
v0.79Weltkarte: Hops werden wieder verortet. Die Karte und die Hop-Liste erschienen, aber kein einziger Marker. Die Seitenleiste meldete „Keine Hops verortet (alle privat oder Timeout)", obwohl 13 von 15 Hops öffentliche Adressen hatten. Ursache: Die Kartenseite fragte die Standorte selbst per fetch() bei http://ip-api.com ab. Firefox (Nur-HTTPS-Modus) schrieb das auf https:// um, und der kostenlose ip-api-Zugang antwortet darauf mit {"status":"fail","message":"SSL unavailable for this endpoint"}. Die Seite verwarf diese Antwort ohne Meldung. Im Browser des Nutzers mit ip-api.com/json/8.8.8.8 nachgewiesen. Jetzt fragt KombiTool selbst im Hintergrund (Python, unabhängig von Browser und Werbeblocker): eine Sammelabfrage bei ip-api.com für alle Hops statt 13 Einzelabfragen, als Ausweichdienst ipwho.is über HTTPS. Die Standorte werden fertig in die Seite geschrieben. Gelingt die Verortung nicht, nennen Seitenleiste und Statuszeile die tatsächliche Ursache (z. B. DNS-Filter, zu viele Anfragen) statt „alle privat". Neu auf Wunsch: Kurzinfo beim Überfahren eines Markers mit Hop-Nummer, Stadt, Land und Antwortzeit. Bisher gab es diese Angaben nur per Klick. Außerdem werden Zielname, Stadt und Provider in der Seite maskiert, und Fremddaten können den Skriptblock nicht mehr beenden. Neue Testsuite test_v079_geo_python.py.
v0.78Einstellungsfenster mit Reitern. Anlass: In v0.77.1 waren die Einstellungen schwer zu finden. Befund: das neue Tastenkürzel stand ganz unten auf einer langen Bildlaufseite, hinter Speicherort und Import; dazwischen klaffte eine rund 200 px hohe Leerfläche – der noch leere Rahmen der Import-Auswahlliste (ein leerer CustomTkinter-Rahmen ist ab Werk 200 px hoch, nicht 0) –, und die Zeile „Vorhanden:" lief rechts aus dem Fenster. Jetzt fünf Reiter (⌨ Tastenkürzel, 🎨 Darstellung, 📂 Speicherort, 📥 Import, ℹ Über), Tastenkürzel zuerst und beim Öffnen ausgewählt; die Reiterknöpfe in den Farben der übrigen Schaltflächen, Beschriftung in beiden Modi mit mindestens 5:1 Kontrast. Die Import-Auswahlliste erscheint erst, wenn „Prüfen" etwas gefunden hat; lange Zeilen brechen um. Neuer Systray-Eintrag ⌨️ Screenshot-Tastenkürzel … direkt unter „Screenshot", öffnet die Einstellungen gleich auf dem richtigen Reiter. Zweitens Schaltflächen in beiden Modi lesbar: im Dunkelmodus stand die Beschriftung aller Schaltflächen und Auswahllisten hellgrau auf hellgrau (Kontrast 1,7:1), und im hellen Modus wirkten die grauen Nebenknöpfe („Vorgabe eintragen", „Ordner öffnen", „Prüfen", „Abbrechen") mit weißer Schrift wie ausgegraut (1,8:1). Jetzt drei feste Arten – Hauptknopf (dunkle Fläche, im Dunkelmodus helle Fläche mit dunkler Schrift), Nebenknopf (helle Fläche, dunkle Schrift) und roter Stop-/Löschknopf –, jede Kombination aus Fläche und Schrift in hell und dunkel mindestens 4,5:1, auch beim Überfahren mit der Maus. Neue Testsuite test_v078_settings_tabs.py, die alle diese Kontraste nachrechnet.
v0.77.1Korrektur: EXE startete sich endlos selbst. Die erste v0.77-EXE wurde mit einer Python-Installation gebaut, in der customtkinter und pyperclip fehlten; PyInstaller baute trotzdem. Beim Start rief die Paket-Nachinstallation sys.executable -m pip … auf – in der EXE ist das KombiTool.exe selbst, also startete jede Instanz eine weitere (138 Prozesse, 1,5 GB). Der Fehler steckte schon seit Einführung der Nachinstallation im Code, wurde aber erst durch den unvollständigen Build ausgelöst. Jetzt: in der EXE wird nie nachinstalliert, sondern eine Fehlermeldung mit den fehlenden Paketen gezeigt und beendet. build_exe.bat zeigt das verwendete Python, prüft alle Pakete vorab, installiert fehlende dort nach und bricht sonst ab, ohne zu bauen; eine alte dist\KombiTool.exe wird vorher entfernt, damit „EXE erstellt" nur nach echtem Erfolg erscheint. Alle .bat-Dateien mit Windows-Zeilenenden (CRLF).
v0.77DirComm öffnet nicht mehr unsichtbar + wählbares Screenshot-Tastenkürzel. Auslöser: DirComm zeigte nach dem Start nur noch ein Taskleisten-Symbol. In dircomm_prefs.json stand eine Position auf einem externen Monitor; ohne ihn landete das Fenster außerhalb jedes Bildschirms, weil die gespeicherte Position ungeprüft gesetzt wurde. Jetzt wird sie beim Start gegen die Arbeitsflächen der tatsächlich angeschlossenen Monitore geprüft (safe_geometry() in tools/base.py); liegt kein greifbarer Teil der Titelleiste auf einem Monitor, öffnet DirComm mittig auf dem Hauptbildschirm, zu große Fenster werden auf die Arbeitsfläche verkleinert. Minimiert oder maximiert wird die Position nicht mehr gespeichert (Windows meldet minimierte Fenster bei −32000/−32000). Zweitens: das Screenshot-Tastenkürzel ist nicht mehr fest F9, sondern unter ⚙️ Einstellungen wählbar (Zusatztaste + Taste, abschaltbar, wirkt sofort); ungeeignete Kürzel werden mit Begründung abgelehnt, der Systray-Eintrag zeigt das aktuelle Kürzel. Neues Modul tools/hotkey.py, neue Testsuite test_v077_geo_hotkey.py.
v0.76Gemeinsamer, einstellbarer Speicherort + Datenimport + neue Oberfläche. Bis v0.75 hatte jedes Werkzeug seinen Ablageort fest im Code (%USERPROFILE%\KombiTool\…) – der Notizzettel zeigte den Pfad nur an, ändern ließ er sich nicht. Jetzt gibt es einen gemeinsamen Datenordner für alle Werkzeuge, umstellbar im neuen Fenster ⚙️ Einstellungen (Systray), mit Wahl zwischen Verschieben, Kopieren und bloßem Umstellen des Pfades; verschoben wird erst, nachdem die Kopie angekommen ist. Der gewählte Pfad liegt gerätelokal in %LOCALAPPDATA%\KombiTool\location.json – nicht im Datenordner selbst, sonst wäre es ein Zirkelschluss – und ein unerreichbares Netzlaufwerk führt zum vorübergehenden Rückfall auf den Vorgabeordner samt Hinweis in der Statusleiste, statt zu Datenverlust. Neu ist außerdem der Datenimport aus einem beliebigen Ordner (alter Pfad, zweiter PC, Sicherung): mit Auflistung der gefundenen Bestände, Einzelauswahl und drei Verhaltensweisen bei Namensgleichheit – behalten, Notiz-Tabs anfügen oder überschreiben (mit .vor_import-Sicherung). Zweitens die Oberfläche: KombiTool übernimmt Palette, Schrift und Aufbau von Markdown-Editor-BL v2.5, einschließlich Dunkelmodus (hell / dunkel / wie Windows, sofort wirksam) und einer dunklen Statusleiste, die in jedem Werkzeug einen Link zu diesem Handbuch enthält. Dabei behoben: der Schriftmix aus Roboto und Segoe UI. Neue Testsuite test_v076_paths_theme.py.
v0.75Weltkarte: OpenStreetMap-Standardkacheln entfernt. Die in v0.74 aufgenommene OSM-Ebene zeigte statt der Karte „Access blocked — Referer is required by tile usage policy of OpenStreetMap's volunteer-run servers". Ursache: Die OSM-Kachelserver verlangen einen Referer-Header; eine per file:// von der Festplatte geöffnete Seite sendet keinen, und das lässt sich seitenseitig nicht nachrüsten. Der Server liefert dabei ein gültiges Bild, weshalb Leaflet keinen Kachelfehler meldete und die Notfall-Umschaltung aus v0.74 nicht griff. Ersetzt durch zwei ohne Referer geprüfte Quellen: Straßen (Esri) mit Orts- und Straßennamen und Topografie (OpenTopoMap). OpenTopoMap ist zugleich die neue Ausweichquelle — bewusst ein anderer Anbieter als die Esri-Ebenen, damit ein Ausfall dort nicht beide Seiten trifft. Alle fünf Kachelquellen wurden vor der Auslieferung einzeln ohne Referer abgerufen und geprüft.
v0.74Weltkarte ohne API-Schlüssel + Rechtsklick im Zielfeld: Der bisher genutzte Kachel-Dienst CARTO verlangt seit 2026 einen API-Schlüssel und lieferte die Karte nur noch mit dem quer aufgedruckten Hinweis „API KEY REQUIRED". Die Weltkarte im Traceroute bezieht ihr Kartenbild jetzt aus vier schlüsselfreien Quellen — Esri Canvas dunkel (Voreinstellung) und hell, OpenStreetMap sowie Esri-Satellit —, umschaltbar über das Symbol oben links. Häufen sich Kachelfehler, schaltet die Seite selbsttätig auf OpenStreetMap um; kann die Kartenbibliothek gar nicht geladen werden (kein Internet, Firewall), erscheint statt einer weißen Fläche ein erklärender Hinweis, und Leaflet wird zusätzlich von einem zweiten CDN geholt. Die Geolokalisierung über ip-api.com war von der Umstellung nicht betroffen und arbeitet unverändert ohne Schlüssel. Zweite Neuerung: Das Zielfeld hat ein Rechtsklick-Menü (Ausschneiden, Kopieren, Einfügen, Alles markieren, Feld leeren) — beim Einfügen wird aus dem kopierten Text automatisch die IP-Adresse bzw. der Hostname herausgezogen, auch aus einer ganzen tracert-Zeile oder einer URL. Die Funktion liegt als ToolBase.add_entry_context_menu() zentral bereit und lässt sich später in weiteren Tools nutzen.
v0.73Schriftgrößen-Fix (Punkte/Pixel): In Systeminfo, Pixellineal, DirComm, Duplikatfinder, DirVergleich und Notizzettel waren die Schriften der nativen Tk-Bereiche (Textfeld, Listen, Lineal-Beschriftung, Kontextmenüs) rund 1,38-mal zu groß, während Schaltflächen und Überschriften daneben korrekt aussahen. Ursache: Tk deutet eine positive Schriftgröße als Punkte, eine negative als Pixel — CustomTkinter rechnet ausschließlich in Pixeln, ToolBase.tk_font() gab die Größe aber positiv zurück. Seit v0.73 wird sie negativ geliefert; auf einem hochauflösenden Display bei hoher Skalierung wurde nachgemessen, dass die Nennwerte 10/12/14/18/24 damit exakt die Größe treffen, die CustomTkinter selbst setzt. Im Pixellineal entfällt zugleich die Deckelung des Skalierungsfaktors auf 1.5 — sie war ein Pflaster über demselben Fehler. Außerdem: build_exe.bat ruft jetzt py -m PyInstaller statt pyinstaller auf (PATH-unabhängig, nötig seit dem neuen Python Install Manager).
v0.72NEU Autostart mit Windows: neuer Systray-Menüpunkt „Mit Windows starten" (Toggle mit Häkchen). Trägt KombiTool in HKCU\Software\Microsoft\Windows\CurrentVersion\Run ein — nur für den aktuellen Benutzer, kein Administratorrecht. Beim Skript-Betrieb wird wscript.exe start_kombitool.vbs registriert (kein Konsolenfenster beim Boot), bei der PyInstaller-EXE der Pfad zur .exe direkt. Das Häkchen wird bei jedem Menü-Öffnen frisch aus der Registry gelesen und bleibt daher korrekt, auch wenn der Eintrag extern entfernt wurde.
v0.71Duplikatfinder: Sammel-Auswahl (✓-Spalte, ⚡ Auto-Auswahl "älteste/neueste behalten", Gruppenschutz-Warnung, Sammel-Löschen in den Papierkorb im Hintergrund); FIX "Im Explorer zeigen" öffnete den Dokumente-Ordner statt des Dateiordners (Schrägstriche im Pfad, Duplikatfinder + DirVergleich + DirComm); FIX Doppelklick auf Kopfzeile/Trennstrich/Leerbereich öffnete in DirComm die markierte Datei ("Öffnen mit"-Dialog); Traceroute-Weltkarte: nummerierte Marker, Latenz-Legende, Versatz deckungsgleicher Marker, Erkennung unsicherer GeoIP-Standorte (gestrichelt) mit Routen-Checkbox; Pixellineal: Skalen-Zoom (verwirrend, entkoppelte Skala vom Bildschirm) ersetzt durch Echtzeit-Lupe — beim Messen zeigt ein Fenster den vergrößerten Bildschirm neben dem Lineal mit Fadenkreuz, Mausrad schaltet ×2–×16
v0.70NEU Duplikatfinder (Größe → Teil-Hash → Voll-Hash SHA1, Mindestgröße wählbar, Papierkorb-Löschung); NEU DirVergleich (zwei Ordnerbäume: nur links / nur rechts / unterschiedlich / identisch, Datums-Toleranz ±2 s, reines Lese-Werkzeug); Screenshot: globaler Hotkey F9; DirComm: leere Ordner gelb markiert, ∅-Button listet rekursiv leere Ordner, Altersanalyse per Rechtsklick; Fix-Runde: Status-Spalte in DirVergleich rechtsbündig, Spalten-Autofit per Doppelklick auf den Trennstrich (DirComm, Duplikatfinder, DirVergleich)
v0.69Bugfix-Release (Code-Review): Watchdog repariert — startete bis v0.68 alle 30 s fälschlich eine zusätzliche Queue-Schleife (steigende CPU-Last im Dauerbetrieb, Log-Spam); DirComm-Suche friert bei hängenden Netzlaufwerken nicht mehr ein (stat() im Suchthread); Screenshot-Overlay nutzt Ursprung des virtuellen Bildschirms (Multi-Monitor-Versatz behoben) und fordert nach der Aufnahme sofortige DPI-Prüfung an; Temp-Datei nach Zwischenablage-Kopie wird gelöscht; Notizzettel behält den aktiven Tab beim Schließen anderer Tabs; DirComm-Sortierung OSError-fest, Ordnergrößen-Tiefenlimit 8 → 30; Traceroute erkennt IPs in Klammern; Logging startet vor den Tool-Imports
v0.68DPI-Awareness-Fix: nach Schlafmodus/Monitor-Reconnect werden Schriftgrößen in allen betroffenen Tools (DirComm, Notizzettel, Systeminfo, Pixellineal) automatisch neu berechnet und aktualisiert
v0.67Globale Schriftgröße (⚙-Button in DirComm, Notizzettel, Systeminfo); Netzlaufwerk-Timeout 8s in DirComm (Synology-Support); Abbruch-Token für Size-Berechnungen beim Navigieren; Suche im Hintergrund-Thread; DirComm zweites Öffnen repariert; Treeview indicatorsize/indent DPI-skaliert; Logging in kombitool.log; Watchdog für GUI-Queue; Pixellineal über gesamten Monitor; Screenshot all_screens; Traceroute: Stop-Button, pathping-Modus, Weltkarte (Leaflet.js + CartoDB + ip-api.com), IPv4-Erzwingung; Notizzettel doppelte Schrift-Skalierung behoben
v0.66Notizzettel: Mehrere Tabs — dynamisch hinzufügen (+), löschen (×), umbenennen per Doppelklick; alle Tabs in einer JSON-Datei; automatische Migration alter Einzelnotizen
v0.65Code-Review-Fixes: _Tooltip-Scope-Bug; Imports bereinigt; _SIZE_POOL.shutdown(); screenshot.py nutzt zentrale VERSION
v0.64DirComm Schneeball-Bug behoben (tk.Wm.wm_geometry-Roundtrip, Prefs-Reset); Schriften in tk-nativen Widgets DPI-korrekt (tk_font() via ScalingTracker)
v0.55Architektur-Refactoring: neue ToolBase-Klasse (tools/base.py); DPI-skalierte Schriften zentral; alle Tools auf ToolBase umgestellt; diverse Bugfixes
v0.51DirComm: Drag & Drop (Verschieben/Kopieren); Kollisions- und Unterordner-Schutz
v0.48DirComm: Löschen in Papierkorb; rekursive Suche; Balkengrafik in Größen-Spalte
v0.45DirComm: Einstellungen persistent (Spaltenbreiten, Fenstergröße, letzter Pfad)
v0.44DirComm: Rechtsklick-Kontextmenü (Explorer öffnen, Pfad kopieren, Löschen)
v0.29DirComm: Spalten Datum und Typ; Pfad per Klick kopieren
v0.28DirComm: Icon-Toolbar mit Tooltips; Navigations-History; Doppelklick-Verhalten
v0.27Doppelklick öffnet Dateien; Einzelinstanz-Schutz
v0.26Screenshot: Verpixelungs-Tool; Auto-Install; build_exe.bat; erstes Handbuch
v0.25Notizzettel: Schriftgröße-Auswahl, Zeitstempel; Traceroute ohne Terminal; diverse Bugfixes
v0.22Systeminfo: Monitor-Sektion; Lineal: DPI-Handling und Einheiten-Umschaltung