C - yendo de ncurses interfaz de usuario para el programa externo y la espalda
-
16-09-2020 - |
Pregunta
Estoy haciendo un programa que muestra algo de información en ncurses y, a continuación, abre vim (utilizando system
) para permitir al usuario editar un archivo.Después de vim se sale, sin embargo, el ncurses pantalla no volver a dibujar. refresh
y wrefresh
no hacer nada, lo que resulta en la completa destrozo de mi hermosa menú.
Así que, me voy enviados de vuelta a la línea de comandos.Los elementos de menú redibujar cuando me muevo a ellos.Moviendo un poco los resultados en algo que se parece a esto:
Como usted puede ver, yo ya no estoy en mi linda ncurses entorno.
Yo podría derribar ncurses completamente y poner las cosas de nuevo, pero luego de algunas cosas (como la posición del menú) no se conserva.
¿Cómo puedo hacer esto correctamente?Existe una mejor forma de llamar a algún programa externo y volver aquí con gracia?
Solución
Nunca he tenido que reiniciar el maldiciones por completo.
lo que si hace algo como
def_prog_mode() entonces endwin()
ejecutar la llamada al sistema
y actualizar() debe restaurar
Otros consejos
Separado de su programa estatal de las maldiciones del estado.
La única manera limpia conozco es detener y reiniciar maldiciones por completo.Si su programa tiene una clara noción de su estado interno (como debe ser), entonces debería ser fácil volver a la misma posición.
Buena suerte!