2010-11-22 14 views
1

Meine Anwendung nutzt Ncurses und hat mehrere Fenster, die ständig aktualisiert werden.Keep Ncurses Fenster auf Vordergrund

In dieser Anwendung habe ich ein Fenster, das als 'Meldungsfeld' (z. B. Dialog) erscheint, wenn der Benutzer 'q' drückt und fragt, ob er herunterfahren möchte. Dies funktioniert gut, bis die anderen Fenster aktualisiert sind. An diesem Punkt werden die anderen Fenster über das Dialogfeld gezeichnet, wodurch sie (teilweise) unsichtbar werden.

Der Aufruf von wrefresh() im Dialogfenster scheint nicht zu helfen. Wie zwinge ich das Fenster in den Vordergrund?

Antwort

3

Ich hatte den ganzen Tag manuelle Seiten gelesen, konnte nichts finden. Und natürlich, nur 5 Minuten nach meiner Frage zu stellen, fand ich die Lösung:

redrawwin(dialog_window); 
wrefresh(dialog_window); 

jetzt Mein Dialog im Vordergrund bleibt.

+0

Würde es Ihnen etwas ausmachen, mir zu sagen, wo Sie diese redrawwin() -Funktion finden? Ich versuche ncurses zu lernen, aber ich kann keine guten Dokumente finden. Ich benutze grundsätzlich diese zwei Webseiten: http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/intro.html und http://invisible-island.net/ncurses/ncurses-in-tro.html. Gibt es andere Quellen mit mehr technischen und tieferen Kenntnissen? Vielen Dank! –

+0

Beginnen Sie mit 'man redrawwin' (siehe [Online-Kopie] (http://invisible-island.net/ncurses/man/curs_refresh.3x.html)). –

Verwandte Themen