Seine Ansage
"waere nun noch gut das mann in den einstellungen einstellen kann hell
oder dunkel oder automatik das fehlt sollte eigendlich drin sein"
Er hatte recht: beide Farbpaletten lagen laengst in theme.py, das Programm
folgte aber starr dem Windows-Theme. Jetzt steht die Wahl unter
Einstellungen -> Darstellung und wirkt SOFORT, nicht erst beim Neustart.
Umschalten heisst neu bauen
Die Farben stehen an ueber sechzig Stellen fest in den Widgets. Sie einzeln
nachzuziehen hiesse, ein Verzeichnis aller eingefaerbten Widgets zu fuehren
- und wer beim naechsten neuen Widget vergisst, es einzutragen, hat einen
hellen Fleck im dunklen Fenster, den niemand mehr findet. Neu bauen kann
nichts vergessen.
⚠️ Dabei gingen im ersten Versuch Kundenname und Rechnungsnummer verloren:
die _build_-Methoden legen ihre StringVars SELBST an, nach dem Neubau
standen leere da. Gesichert werden jetzt ALLE Tk-Variablen des Fensters,
nicht eine gepflegte Auswahl - wer spaeter ein Feld hinzufuegt, muss nichts
eintragen.
Titelleiste, Symbol und Logo gehen mit
Die Titelleiste gehoert Windows; sie folgt ueber
DWMWA_USE_IMMERSIVE_DARK_MODE. _dark_titlebar konnte bisher nur DUNKEL und
zeigt jetzt in beide Richtungen - vorher behielt man beim Wechsel auf hell
eine schwarze Leiste ueber einem hellen Fenster.
Sein Befund: "die svg fuer das dunkle heller machen weil die geht nun
unter" und "icon musst wenn es dunkel ist mit aendern auf das hellere".
Gemessen sind es zwei Farben: Petrol #004860 und ein fast schwarzes
#181818 - letzteres liegt genau auf der Kachelfarbe #15171b. Umgestellt
wird nur die HELLIGKEIT (L -> 1-L, gedeckelt bei 0.78), Farbton und
Saettigung bleiben: sonst waere es nicht mehr sein Logo. Betrifft
Wasserzeichen, Kopflogo und das Fenstersymbol; die aufgehellte ICO entsteht
beim Bauen.
menueleiste.py
Die selbstgebaute Menueleiste ist jetzt eine eigene Datei und liegt in
beiden Programmen gleich - das Steuerrechnungstool hatte noch das native
tk.Menu, das sich unter Windows nicht einfaerben laesst.
pruef_darstellung.py
Prueft die drei Modi, dass beim Umschalten NICHTS verlorengeht, und dass
danach kein Widget mehr eine Farbe der anderen Palette traegt - genau der
helle Fleck, den man sonst nie wiederfindet.
Nebenbei: die beiden Dauertimer melden beim Beenden kein
"invalid command name ..._api_pumpe" mehr. Ein Log, in dem beim normalen
Beenden immer zwei Fehler stehen, liest irgendwann niemand mehr.
Fassung 1.8.0.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
Sein Befund: "die software haengt nun am dialog popup" - und gleich darauf:
"haengen tut er nicht, nur deine pruefung; wenn ich auf aktiv druecke, geht es".
Zwei getrennte Fehler, beide meine:
1. Der Hinweis lief an after(0). Da ist das Hauptfenster noch nicht gezeichnet -
ein modaler Dialog daran wirkt eingefroren. Eine feste Wartezeit (150 ms) war
aber auch falsch: die erreicht ein Pruefstand nie, der keine Ereignisschleife
dreht, und pruef_api lief danach in die Zeitgrenze. Jetzt after_idle: laeuft,
sobald Tk nichts mehr zu zeichnen hat - fuer den Nutzer nach dem Zeichnen,
fuer den Pruefstand beim ersten update().
2. Der Dialog kam nicht nach vorn. Ein Hinweis, den man erst suchen muss, taugt
nichts. theme.py holt das Meldungsfenster jetzt nach vorn und nimmt den
Tastaturfokus (lift, kurz topmost, focus_force).
In der Aufgabenliste vermerkt: Updater als Starter (Schritt 4, mit den zwei
fehlenden Voraussetzungen Versionsnummer und Sichtbarkeit der Repositories),
Pcore-Design im Steuerrechnungstool (Schritt 5), und der ALTFEHLER in
pruef_wache - schon vor den heutigen Arbeiten rot, die Statuszeile wird vom
Ergebnis des Einlesens ueberschrieben.
Alle 17 Pruefstaende des Rechnungstools gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax
Sein Wortlaut (06.09.2026):
"bei jedem oeffnen, solange wir die testen, ein popup, dass dies eine
experimentelle software ist und ich keine haftung fuer irgendwelche falsch
ausgestellten uebernehme. der user muss selbst pruefen ueber den vorschau
button auf beiden tools, ob das alles seine richtigkeit hat. wenn nicht, auf
dem link eine issue erstellen. und das alles auch noch mal in die info mit
signatur: user hat dies gelesen und zur kenntnis genommen. wenn er nein
drueckt oder ablehnt, schliesst sich die software und geht beim naechsten
start wieder mit dem selben auf, bis er auf ja drueckt."
WIE ES GEBAUT IST
hinweis.py - neu, liegt spaeter in BEIDEN Programmen gleich (wie gemeinsam.py):
Text, Fehleradresse je Programm, Kenntnisnahme lesen/schreiben, Signaturzeile.
* Der Hinweis kommt als ERSTES beim Start. Erst nach der Bestaetigung faehrt
der uebrige Start an (_start_fortsetzen) - vorher wird nichts geoeffnet,
nichts gefragt, nichts geladen. Sonst stuenden beim Ablehnen noch Timer in
der Warteschlange, die auf ein Fenster zugreifen, das es nicht mehr gibt.
* "Nein" beendet das Programm. Es wird NICHTS vermerkt - ein Nein, das
trotzdem als Kenntnisnahme gespeichert wuerde, waere eine Luege.
* "Ja" wird mit Benutzername, Zeitpunkt und Fassung in der config vermerkt.
Das ist die Signatur.
* Aendert sich der TEXT (FASSUNG), wird erneut gefragt. Eine Zustimmung gilt
fuer das, was dagestanden hat, nicht fuer alles Kuenftige.
* Unter Hilfe -> Info steht derselbe Text dauerhaft, mit der Signaturzeile.
UMBENENNUNG
Das frueher "beherbergungssteuer" genannte Repository heisst jetzt
Steuerrechnungstool:
https://git.pcore.de/TheMockTv/Steuerrechnungstoolhttps://git.pcore.de/TheMockTv/rechnungstool
In beiden READMEs vermerkt, samt "git remote set-url". Der LOKALE Ordner heisst
weiter beherbergungssteuer - der Pfad steht in Pruefstaenden und Spec-Dateien
fest, das ist ein eigener Schritt.
PRUEFSTAND
pruef_hinweis.py prueft die ganze Strecke: Hinweis kommt und nennt Haftung,
Vorschau und Adresse; Nein schliesst das Fenster und vermerkt nichts; neuer
Start fragt wieder; Ja hinterlaesst Fassung, Zeit, Benutzer und eine lesbare
Signaturzeile; danach wird nicht mehr gefragt; bei geaenderter Fassung wieder.
Alle 17 Pruefstaende gruen.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V4t48uxDok5rJXhC9bX1Ax