Meldungen am unteren Rand waren kaum lesbar

Sie standen schwarz auf gruen - und zwar mit A_BOLD. Genau das war die Falle:
Fettschrift schaltet im Terminal die Farben 0-7 auf 8-15, aus Schwarz (0) wird
also Hellschwarz (8), sprich Grau. Grau auf Gruen ist Matsch.

    vorher   \e[0;1m \e[30m \e[42m    fett + schwarz auf gruen
    nachher  \e[0;1m \e[37m \e[44m    fett + weiss auf blau

Dabei zeigte sich, dass in derselben Farbe zwei verschiedene Dinge steckten:
die Meldungsleiste ueber die ganze Zeile und Statustexte wie "Zustand:
running". Beide sind jetzt getrennt:

    C_MSG   weiss auf blau     nur die Meldungsleiste, bleibt fett lesbar
    C_OK    gruen auf Vorgabe  Statustexte als Schriftfarbe statt als Block

Alle uebrigen A_BOLD-Stellen haben helle Schrift (weiss, gelb) - die wird
durch Fett heller statt dunkler und war nie betroffen.

Die Aenderung sitzt in curses_util.py und gilt damit fuer alle Oberflaechen:
Konfigurationseditor, Explorer, Wiederherstellung und Transfer-Laufwerke.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
duffyduck
2026-08-09 10:17:43 +02:00
co-authored by Claude Opus 5
parent f9320bbf4c
commit 56003a71ab
+9 -3
View File
@@ -4,7 +4,7 @@ from __future__ import annotations
import curses import curses
C_HEADER, C_FOOTER, C_SEL, C_WARN, C_OK, C_DIM, C_DIR, C_MARK = 1, 2, 3, 4, 5, 6, 7, 8 C_HEADER, C_FOOTER, C_SEL, C_WARN, C_OK, C_DIM, C_DIR, C_MARK, C_MSG = range(1, 10)
def init_colors(): def init_colors():
@@ -15,10 +15,16 @@ def init_colors():
curses.init_pair(C_FOOTER, curses.COLOR_BLACK, curses.COLOR_WHITE) curses.init_pair(C_FOOTER, curses.COLOR_BLACK, curses.COLOR_WHITE)
curses.init_pair(C_SEL, curses.COLOR_BLACK, curses.COLOR_CYAN) curses.init_pair(C_SEL, curses.COLOR_BLACK, curses.COLOR_CYAN)
curses.init_pair(C_WARN, curses.COLOR_WHITE, curses.COLOR_RED) curses.init_pair(C_WARN, curses.COLOR_WHITE, curses.COLOR_RED)
curses.init_pair(C_OK, curses.COLOR_BLACK, curses.COLOR_GREEN) # Gruen als Schriftfarbe, nicht als Hintergrund. Schwarz auf Gruen sah
# im Terminal matschig aus - und mit A_BOLD wird aus Schwarz (Farbe 0)
# Hellschwarz (Farbe 8), also Grau. Grau auf Gruen kann man nicht lesen.
curses.init_pair(C_OK, curses.COLOR_GREEN, -1)
curses.init_pair(C_DIM, -1, -1) curses.init_pair(C_DIM, -1, -1)
curses.init_pair(C_DIR, curses.COLOR_CYAN, -1) curses.init_pair(C_DIR, curses.COLOR_CYAN, -1)
curses.init_pair(C_MARK, curses.COLOR_YELLOW, -1) curses.init_pair(C_MARK, curses.COLOR_YELLOW, -1)
# Meldungsleiste: Weiss auf Blau bleibt auch fett gut lesbar, weil die
# Schrift dabei heller wird statt dunkler.
curses.init_pair(C_MSG, curses.COLOR_WHITE, curses.COLOR_BLUE)
except curses.error: except curses.error:
pass pass
@@ -111,7 +117,7 @@ def keybar(width, items):
def message(win, text, error=False): def message(win, text, error=False):
height, _ = win.getmaxyx() height, _ = win.getmaxyx()
attr = curses.color_pair(C_WARN if error else C_OK) | curses.A_BOLD attr = curses.color_pair(C_WARN if error else C_MSG) | curses.A_BOLD
fill(win, height - 2, " " + str(text) + " [Taste druecken]", attr) fill(win, height - 2, " " + str(text) + " [Taste druecken]", attr)
win.refresh() win.refresh()
read_key(win) read_key(win)