Estoy haciendo un programa que muestra información en ncurses, y luego abre vim (usando system
) para permitir al usuario editar un archivo. Sin embargo, después de salir de vim, la pantalla de ncurses no se volverá a dibujar. refresh
y wrefresh
no hacen nada, lo que resulta en la completa destrucción de mi hermoso menú.C - pasando de ncurses ui a programa externo y de vuelta
Me devuelven a la línea de comandos. Los elementos del menú vuelven a dibujarse cuando me muevo hacia ellos. Moverse un poco los resultados en algo que se parece a esto:
Como se puede ver, ya no estoy en mi ambiente ncurses bastante ,.
Podría eliminar ncurses por completo y configurar de nuevo, pero algunas cosas (como la posición del menú) no se conserva.
¿Cómo hago esto correctamente? ¿Hay alguna manera mejor de llamar a algún programa externo y regresar aquí con gracia?
Gracias! Esto parece funcionar, pero de vez en cuando vuelvo a mi interfaz de usuario de maldiciones y ninguna de mis teclas se registra. Entonces tengo que matar el programa. ¿Algunas ideas? –
¿cómo inicias ncurses? initscr();/* inicializa la biblioteca de curses */ teclado (stdscr, TRUE);/* habilitar asignación de teclado */ nonl();/* le dice a las maldiciones que no hagan NL-> CR/NL en la salida */ cbreak();/* tomar caracteres de entrada de uno en uno, no esperar \ n */ noecho();/* no hace eco en la entrada */ ¿Hay algo cambiando el método de entrada? usted puede llamar a cbreak() cuando regrese – Tree77
Estoy haciendo todo lo anterior, todavía no tengo suerte, lamentablemente. –