Curses
# Curses

    Este artículo trata sobre la biblioteca Unix de programación.

Curses es una biblioteca para el control de terminales sobre sistemas tipo Unix, posibilitando la construcción de una Interfaz para el usuario, para aplicaciones ejecutadas en un terminal. Fue creado por Ken Arnold y originariamente lanzado con la distribución Unix BSD, donde tenía varios juegos que dependían de ésta biblioteca. El más notable y mítico de ellos Rogue aún tiene sus seguidores. (Erróneamente se suele decir que fue utilizado por el editor de texto vi. La conexión está mal entendida; el código de curses que optimiza el movimiento de cursor de un área a otra fue tomado prestado del editor vi, muy anterior a la biblioteca curses.)

Utilizando esta biblioteca, los programadores pueden escribir aplicaciones para ejecutarse en modo texto, sin tener que escribir específicamente para ningún tipo de terminal. Durante la ejecución de la aplicación, será la curses quien se ocupe de enviar los caracteres correctos al monitor que tenga que mostrarlos.

El modelo de programación se basa en tener uno o más objetos ventana móviles sobre el monitor. Cada ventana es una matriz de caracteres, siendo el programador quien determine el aspecto y comportamiento de dicha ventana. La biblioteca también tiene capacidades para registrar eventos y secuencias de control sobre los terminales.

Es tan sencilla de programar como crear una matriz que especifica cómo tendrá que aparecer la ventana en la pantalla. El resto del trabajo corre por cuenta de los manejadores de curses.

