ncurses: Vorder- und Hintergrundfarbe



  • Hallo zusammen,

    auf den hilfreichen Vorschlag aus dem Forum verwende ich ncurses für ein Konsolenprogramm in C++.

    const int SCHWARZE_TINTE = 0;
    const int ROTE_TINTE     = 1;
    
    ...
    
    initscr();
    start_color();
    init_pair(SCHWARZE_TINTE, COLOR_BLACK, COLOR_WHITE);
    init_pair(ROTE_TINTE,     COLOR_RED,   COLOR_WHITE);
    //bkgd(SCHWARZE_TINTE);
    color_set(SCHWARZE_TINTE, 0);
    // schwarzer Text
    color_set(ROTE_TINTE, 0);
    // roter Text
    
    ...
    

    Mit diesem Problem habe ich folgende Probleme:

    • Egal, wie die (KDE-)Konsole eingestellt war - der start_color-Befehl stellt auf das Farbschema "Linux-Farben", also Weiß auf Schwarz, um. Wie kann ich das verhindern und bei den gemachten Einstellungen bleiben?
    • Alternativ könnte ich die Einstellung ja selbst vornehmen. Siehe oben, der auskommentierte bkgd-Befehl. Leider bleibt der ohne Wirkung! Wieso?
    • Die Definition ROTE_TINTE schließlich funktioniert wie gewünscht, rot auf weißem Grunde. Warum nicht bei SCHWARZE_TINTE (sollte Schwarz auf Weiß sein, erscheint aber Weiß auf Schwarz)?

    Vielen Dank für Eure Hinweise.



  • Erst mal mit nem anderen Terminal oder direkt auf der Konsole probieren,
    unter X geht das nicht immer, wie gewünscht - je nach anwendung


Anmelden zum Antworten