curses
Michal Bulant
bulik na bart.math.muni.cz
Čtvrtek Listopad 21 10:33:58 CET 1996
Dobry den,
jindra na rak.nis.cz (Jiri Jindra) writes:
>
> Zdravim vsechny Linuxare!
>
> Rad bych se zeptal na toto:
> Pisi program v C a pouzivam knihovnu "ncurses". Jelikoz vsak tuto knihovnu
> doposud dokonale neznam, trapim se s nasledujicim problemem:
>
> funkci newwin() si vytvorim okno, oramuju ho, neco do nej napisu, a ted se
> rozhodnu to okno smazat z terminalu, nikoliv vsak z pameti, a jeste aby se
> pritom obnovila plocha pod oknem do puvodniho stavu.
> Mel jsem takovou ideu, ze se to provadi pomoci fce overlay() ale ono mi to
> nefungovalo.
>
> Muze mi nekdo zkusenejsi poradit?
> Predem diky za pripadne namety.
Nejsem si jist, jak je to v novejsich ncurses (projevovali se mi drobne
nekompatibility, ale protoze ze zasady nesleduji verze - krome Emacsu ;-),
tak verzi vam nepovim), ale myslim si, ze to funguje nasledovne:
- v pripade zapisu do okna se zapisuje pouze do pameti a chcete-li,
aby se obsah zobrazil na fyzicky terminal, je treba zavolat wrefresh()
- pokud chcete okno smazat z terminalu, je mozne (zalezi to ale
na strukture oken na desktopu) napr. zavolat touchwin(win);wrefresh(win)
na okno pod vasim oknem, pripadne touchwin(stdscr);refresh() pokud napr.
vasim oknem je nejake dialogove okno, ktere chcete kratkodobe zobrazovat a
mazat. Pokud jste toho nazoru, ze touchwin() se nepouziva ;-),
tak si muzete vytvorit prazdne okno, ktere budete stridave wrefresh()ovat
s dialogovym oknem.
Doufam, ze to nebylo prilis zmatene
Michal Bulant
--
-------------------------------------------------------------------
| Michal Bulant, PhD student and system administrator |
| Masaryk University, Brno, Czech Republic |
| Faculty of Science |
| Department of Algebra and Geometry |
| Topics: Number Theory, TeX, Linux, *GNU*, Computer Algebra |
| Computations, ... |
| e-mail: bulant na math.muni.cz |
| WWW: http://www.fi.muni.cz/~bulik/ |
-------------------------------------------------------------------
Další informace o konferenci Linux