| |||||||
Bazen ilk işlemleri gerçekleştirdiğiniz kipe (satır tamponlu kip) geçici bir süre için geri dönmek isteyebilirsiniz. Böylesi bir durumda ilk olarak tty kiplerini def_prog_mode() çağrısı ile kaydetmeniz ve curses kipini sonlandırmak için endwin() işlevini kullanmanız gerekmektedir. Bu sizi asıl tty kipine gönderecektir. İşiniz bitip tty kipine dönmek için reset_prog_mode() işlevini çağırın. Bu işlev tty kipini def_prog_mode() ile kaydedilmiş kipe dönüştürür. Daha sonra refresh()'i kullanın ve işte yine curses kipindesiniz. Aşağıda yapılan işlemlerin sırasını gösteren bir örnek bulunmaktadır.
Örnek 5.17. Geçici Olarak Curses Kipini Terk Etmek
#include <ncurses.h>
int main()
{
initscr(); /* Curses kipi başlangıcı */
printw("Merhaba Dünya !!!\n"); /* Ekrana Merhaba Dünya yaz */
refresh(); /* Gerçek ekranda bunu yaz */
def_prog_mode(); /* tty kiplerini kaydet */
endwin(); /* Curses kipini geçici olarak sonlandır */
system("/bin/sh"); /* Kabukta ne yapmak istiyorsanız yapın */
reset_prog_mode(); /* Bir önceki tty kipine dönüş */
refresh(); /* Ekran içeriğini geri yükleyelim */
printw("Tekrar Merhaba\n"); /* Curses'a döndük mü bakalım */
refresh(); /* Ekranı tampondan tazeleyelim */
endwin(); /* Curses kipinin sonu */
return 0;
}
|
| ||||||||||