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:
co-authored by
Claude Opus 5
parent
f9320bbf4c
commit
56003a71ab
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user