Ich mache ein Programm, das einige Informationen in ncurses anzeigt, und öffnet dann vim (mit system
), um dem Benutzer zu erlauben, eine Datei zu bearbeiten. Nach dem Beenden von vim wird der ncurses-Bildschirm jedoch nicht neu gezeichnet. refresh
und wrefresh
nichts tun, was zu einem kompletten Abfall meiner schönen Speisekarte führt.C - von ncurses ui zu externem Programm und zurück
Also werde ich zurück zur Kommandozeile gesendet. Die Menüpunkte werden neu gezeichnet, wenn ich zu ihnen gehe. Umher ein bisschen Ergebnisse in etwas, das wie folgt aussieht:
Wie Sie sehen, ich bin nicht mehr in meiner ziemlich ncurses Umgebung ,.
Ich könnte Ncurses komplett abreißen und Dinge wieder einrichten, aber dann einige Dinge (wie Menü-Position) ist nicht erhalten.
Wie mache ich das richtig? Gibt es eine bessere Möglichkeit, ein externes Programm aufzurufen und hier elegant zurückzukehren?
Dank! Dies scheint zu funktionieren, aber hin und wieder komme ich zurück zu meiner Flüche Benutzeroberfläche und keiner meiner Tastaturanschläge registrieren. Also muss ich das Programm beenden. Irgendwelche Ideen? –
Wie init ncurses? initscr();/* initialisiere die Curses-Bibliothek */ Tastatur (stdscr, TRUE);/* Tastaturbelegung aktivieren */ nonl();/* tell curses nicht zu tun NL-> CR/NL am Ausgang */ cbreak();/* nimm Eingabezeichen einzeln, keine Wartezeit für \ n */ noecho();/* Echo nicht Eingabe */ Ändert etwas die Eingabemethode? Sie könnten cbreak() aufrufen, wenn Sie zurückkehren – Tree77
Ich mache alle oben genannten, leider immer noch kein Glück. –