add fix color proposal

This commit is contained in:
juergen committed 2026-10-20 07:30:09 +02:00
1 parent 843c6866a5
commit 75b68fe438
7 files changed
+407 -4

No files matched your search

@@ -0,0 +1,78 @@
# Tasks
## 1. PPD: Farbmodus-Default, Presets und Dokumentation
- [ ] 1.1 `assets/Brother HL-4150CDN/ppd/BR4150_2.PPD`: `*DefaultBRColorMode`
von `Normal` auf `None` ändern, alle eigenen Ergänzungen mit
`%`-Kommentar (Herkunft/Zweck) markieren.
Verifikation: `grep -n 'DefaultBRColorMode\|^% Modified' "assets/Brother HL-4150CDN/ppd/BR4150_2.PPD"`
zeigt `*DefaultBRColorMode: None` und den Kommentar.
- [ ] 1.2 PPD: sechs `APPrinterPreset`-Einträge ergänzen (Kombinationen
color/monochrome × low/normal/high gemäß Tabelle in `design.md`,
z. B. `*APPrinterPreset MonoNormal/Schwarz-Weiß Normal:
"*com.apple.print.preset.output-mode=monochrome
*com.apple.print.preset.quality=normal *BRPrintQuality=Black
*TonerSaveMode=False"`).
Verifikation: `grep -c '^\*APPrinterPreset' "assets/Brother HL-4150CDN/ppd/BR4150_2.PPD"`
ergibt 6, und nach einem Build listet
`lpoptions -p <queue> -l` weiterhin alle Optionen ohne
PPD-Warnung in `/var/log/cups/error_log`.
- [ ] 1.3 PPD: Choice `VividNoCIE` unter `BRColorMode` ergänzen
(`<</UseCIEColor false /BRColorMode 1>>setpagedevice`) und per
Testdruck gegen `None` vergleichen; nur behalten, wenn der Ausdruck
deutlich gesättigter ist.
Verifikation: `lpoptions -p <queue> -l` zeigt die Choice, die
Entscheidung (behalten/entfernen) ist im README-Auswertungs-Abschnitt
notiert.
- [ ] 1.4 README: Abschnitt „Farben sind blass" (Ursache `UseCIEColor`,
durchgeführte Testreihe mit `lp -o BRColorMode=…`,
Ergebnis `None`), Abschnitt „Änderungen an der Hersteller-PPD"
(welche Einträge ergänzt wurden und warum) und Abschnitt
„Optionen fehlen im macOS/iOS-Dialog" (nur IPP-Standardoptionen
sichtbar, PPD-Optionen über `PRINTER_OPTIONS`/CUPS-Web-UI/`lp`).
Verifikation: die im README genannten `lp`/`lpoptions`-Befehle
laufen unverändert gegen den laufenden Container.
## 2. entrypoint: `PRINTER_OPTIONS`
- [ ] 2.1 `entrypoint.sh`: `PRINTER_OPTIONS` (Standard leer) nach der
Queue-Erzeugung in Tokens `key=value` zerlegen und jedes per
`lpadmin -o` setzen, an derselben Stelle wie
`printer-is-shared`/`-D`/`-d`, bei jedem Start.
Verifikation: Start mit
`PRINTER_OPTIONS="BRColorMode=Vivid TonerSaveMode=False"` und
`lpoptions -p <queue> -l` zeigt `Vivid` und `True` als Default
(`*Vivid`, `*True`).
- [ ] 2.2 Fehler pro Token abfangen, damit `set -eu` den Start nicht
abbricht, und warnen.
Verifikation: Start mit `PRINTER_OPTIONS="NoSuchOption=Foo"` erzeugt
eine Warning-Zeile im Log, der Container erreicht
„ready: CUPS on 631/tcp" und `lpstat -r` meldet „scheduler is running".
- [ ] 2.3 README: neue Zeile in der Env-Var-Tabelle plus Kurzbeispiel unter
„Environment variables" (inkl. Hinweis `lpoptions -p <queue> -l` zur
Entdeckbarkeit der Namen).
Verifikation: das Beispiel aus der Tabelle in einen `podman run`-Befehl
übertragen, Start und `lpoptions`-Abfrage wie beschrieben.
## 3. Integrationstests am laufenden System
- [ ] 3.1 Image neu bauen und Container starten.
Verifikation: `podman build -t printserver:latest .` endet ohne Fehler,
das Log enthält „ready: CUPS on 631/tcp, mDNS on 5353/udp".
- [ ] 3.2 S/W-Druck aus dem macOS-Dialog (derselbe Farbjob wie zuvor).
Verifikation: Ausdruck ist schwarz/weiß – vorher kam er farbig heraus.
- [ ] 3.3 Farbdruck ohne weitere Optionen aus dem Dialog und per
`lp -d <queue> test.pdf`.
Verifikation: Ausdruck ist so gesättigt wie der bisherige
`BRColorMode=None`-Testdruck; `lpoptions -p <queue> -l` zeigt `*None`
als Farbmodus-Default.
- [ ] 3.4 Qualitätsstufen prüfen.
Verifikation: `lp -o print-quality=2 test.pdf` (draft, sichtbar
tonersparender) und `lp -o print-quality=5 test.pdf` (high, `CAPT`
SuperFine) erzeugen unterscheidbare Ausdrucke gegenüber
`print-quality=3`.
## Workflow follow-up
- Nach Review und grünem Durchlauf die Änderung mit `/opsx-archive`
archivieren und das Ergebnis prüfen.