LXXXIV. Funciones de Control de Pantalla con Terminal Ncurses

Introducción

ncurses (new curses) es un sistema de emulación del paquete curses del Sistema V 4.0 (y superiores). Usa formatos terminfo, soporta pads, colores, resaltados múltiples, caracteres de formulario y asignaciones de funciones de teclado. Debido a la naturaleza interactiva de esta biblioteca, ésta será de poca utilidad para la escritura de aplicaciones Web, pero puede ser útil cuando se escriben scripts orientados al uso de PHP desde la línea de comandos.

Aviso

Esta extensión es EXPERIMENTAL. Esto significa que el comportamiento de esta extensión, los nombre de sus funciones y en definitiva TODO lo documentado sobre esta extensión, puede cambiar en una futura versión de PHP SIN AVISO. La advertencia queda hecha, y utilizar esta extensión queda bajo su propia responsabilidad.

Ncurses se encuentra disponible para las siguientes plataformas:

  • AIX

  • BeOS

  • Cygwin

  • Digital Unix (aka OSF1)

  • FreeBSD

  • GNU/Linux

  • HPUX

  • IRIX

  • OS/2

  • SCO OpenServer

  • Solaris

  • SunOS

Requirimientos

Necesita las bibliotecas ncurses y sus archivos de cabecera. Descargue la última versión desde ftp://ftp.gnu.org/pub/gnu/ncurses/ o algún otro mirror GNU.

Instalación

Para que estas funciones trabajen, debe compilar la versión CGI o CLI de PHP con --with-ncurses[=DIR].

Configuración en tiempo de ejecución

El comportamiento de estas funciones está afectado por los valores definidos en php.ini.

Tabla 1. Opciones de configuración de ncurses

NombrePredeterminadoModificableCambios
ncurses.value"42"PHP_INI_ALL 
ncurses.string"foobar"PHP_INI_ALL 
For further details and definitions of the PHP_INI_* constants, see the Apéndice H.

Tipos de recursos

Esta extensión no tiene ningún tipo de recurso definido.

Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles solamente cuando la extensión ha sido o bien compilada dentro de PHP o grabada dinámicamente en tiempo de ejecución.

Códigos de error

En caso de fallos, las funciones ncurses devuelven NCURSES_ERR.

Colores

Tabla 2. constantes de color de ncurses

constantesignificado
NCURSES_COLOR_BLACKsin color (negro)
NCURSES_COLOR_WHITEblanco
NCURSES_COLOR_REDrojo - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_GREENverde - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_YELLOWamarillo - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_BLUEazul - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_CYANcyan - soportado cuando la terminal se encuentra en modo de color
NCURSES_COLOR_MAGENTAmagenta - soportado cuando la terminal se encuentra en modo de color

Teclas

Tabla 3. constantes de teclas ncurses

constantesignificado
NCURSES_KEY_F0 - NCURSES_KEY_F64teclas de función F1 - F64
NCURSES_KEY_DOWNflecha hacia abajo
NCURSES_KEY_UPflecha hacia arriba
NCURSES_KEY_LEFTflecha hacia la izquierda
NCURSES_KEY_RIGHTflecha hacia la derecha
NCURSES_KEY_HOMEtecla home (flecha arriba+izquierda)
NCURSES_KEY_BACKSPACEbackspace
NCURSES_KEY_DLeliminar línea
NCURSES_KEY_ILinsertar línea
NCURSES_KEY_DCeliminar caracter
NCURSES_KEY_ICinsertar caracter o entrar en modo de inserción
NCURSES_KEY_EICsalir de modo de inserción de caracteres
NCURSES_KEY_CLEARlimpiar la pantalla
NCURSES_KEY_EOSlimpiar hasta el fin de la pantalla
NCURSES_KEY_EOLlimpiar hasta el fin de la línea
NCURSES_KEY_SFdesplazarse una línea hacia adelante
NCURSES_KEY_SRdesplazarse una línea hacia atrás
NCURSES_KEY_NPAGEsiguiente página
NCURSES_KEY_PPAGEpágina anterior
NCURSES_KEY_STABdefinir tab
NCURSES_KEY_CTABeliminar tab
NCURSES_KEY_CATABeliminar todos los tabs
NCURSES_KEY_SRESETreset suave (parcial)
NCURSES_KEY_RESETreset o reset fuerte
NCURSES_KEY_PRINTimprimir
NCURSES_KEY_LLizquierda inferior
NCURSES_KEY_A1izquierda superior del teclado numérico
NCURSES_KEY_A3derecha superior del teclado numérico
NCURSES_KEY_B2centro del teclado numérico
NCURSES_KEY_C1izquierda inferior del teclado numérico
NCURSES_KEY_C3derecha inferior del teclado numérico
NCURSES_KEY_BTABtab hacia atrás
NCURSES_KEY_BEGcomienzo
NCURSES_KEY_CANCELcancelar
NCURSES_KEY_CLOSEcerrar
NCURSES_KEY_COMMANDcmd (comando)
NCURSES_KEY_COPYcopiar
NCURSES_KEY_CREATEcrear
NCURSES_KEY_ENDfin
NCURSES_KEY_EXITsalida
NCURSES_KEY_FINDencontrar
NCURSES_KEY_HELPayuda
NCURSES_KEY_MARKmarca
NCURSES_KEY_MESSAGEmensaje
NCURSES_KEY_MOVEmover
NCURSES_KEY_NEXTsiguiente
NCURSES_KEY_OPENabrir
NCURSES_KEY_OPTIONSopciones
NCURSES_KEY_PREVIOUSanterior
NCURSES_KEY_REDOrehacer
NCURSES_KEY_REFERENCEref (referencia)
NCURSES_KEY_REFRESHrefrescar
NCURSES_KEY_REPLACEreemplazar
NCURSES_KEY_RESTARTreiniciar
NCURSES_KEY_RESUMEreiniciar
NCURSES_KEY_SAVEguardar
NCURSES_KEY_SBEGcomienzo usando shift
NCURSES_KEY_SCANCELcancelar usando shift
NCURSES_KEY_SCOMMANDcomando usando shift
NCURSES_KEY_SCOPYcopiar usando shift
NCURSES_KEY_SCREATEcrear usando shift
NCURSES_KEY_SDCeliminar caracter usando shift
NCURSES_KEY_SDLeliminar línea usando shift
NCURSES_KEY_SELECTseleccionar
NCURSES_KEY_SENDfinal usando shift
NCURSES_KEY_SEOLfin de línea usando shift
NCURSES_KEY_SEXITsalida usando shift
NCURSES_KEY_SFINDencontrar usando shift
NCURSES_KEY_SHELPayuda usando shift
NCURSES_KEY_SHOMEhome usando shift
NCURSES_KEY_SICentrada usando shift
NCURSES_KEY_SLEFTflecha hacia la izquierda usando shift
NCURSES_KEY_SMESSAGEmensaje usando shift
NCURSES_KEY_SMOVEmover usando shift
NCURSES_KEY_SNEXTsiguiente usando shift
NCURSES_KEY_SOPTIONSopciones usando shift
NCURSES_KEY_SPREVIOUSanterior usando shift
NCURSES_KEY_SPRINTimprimir usando shift
NCURSES_KEY_SREDOrehacer usando shift
NCURSES_KEY_SREPLACEreemplazar usando shift
NCURSES_KEY_SRIGHTflecha hacia la derecha usando shift
NCURSES_KEY_SRSUMEreiniciar usando shift
NCURSES_KEY_SSAVEguardar usando shift
NCURSES_KEY_SSUSPENDsuspender usando shift
NCURSES_KEY_UNDOdeshacer
NCURSES_KEY_MOUSEevento del mouse ha ocurrido
NCURSES_KEY_MAXvalor máximo de tecla

Mouse

Tabla 4. constantes de mouse

Constantesignificado
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASEDbotón (1-4) liberado
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSEDbotón (1-4) presionado
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKEDbotón (1-4) pulsado
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKEDbotón (1-4) pulsado dos veces
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKEDbotón (1-4) pulsado tres veces
NCURSES_BUTTON_CTRLctrl presionado durante el clic
NCURSES_BUTTON_SHIFTshift presionado durante el clic
NCURSES_BUTTON_ALTalt presionado durante el clic
NCURSES_ALL_MOUSE_EVENTSreportar todos los eventos del mouse
NCURSES_REPORT_MOUSE_POSITIONreportar la posición del mouse
Tabla de contenidos
ncurses_addch -- Agregar un caracter en la posición actual y avanzar el cursor
ncurses_addchnstr -- Agregar cadena con atributos y longitud especificada en la posición actual
ncurses_addchstr -- Agregar una cadena con atributos en la posición actual
ncurses_addnstr -- Agregar una cadena con la longitud especificada en la posición actual
ncurses_addstr -- Imprimir texto en la posición actual
ncurses_assume_default_colors -- Definir colores predeterminados para el color 0
ncurses_attroff -- Deshabilitar los atributos dados
ncurses_attron -- Habilitar los atributos dados
ncurses_attrset -- Establecer los atributos dados
ncurses_baudrate -- Devuelve la tasa de baudios de la terminal
ncurses_beep -- Producir un beep en la terminal
ncurses_bkgd -- Establecer la propiedad de segundo plano para la pantalla de la terminal
ncurses_bkgdset -- Controla el segundo plano de la pantalla
ncurses_border -- Dibujar un borde alrededor de la pantalla usando caracteres con atributos
ncurses_bottom_panel --  Mueve un panel visible al fondo de la pila
ncurses_can_change_color -- Chequear si es posible cambiar los colores de la terminal
ncurses_cbreak -- Cambio de búferes de entrada
ncurses_clear -- Limpiar la pantalla
ncurses_clrtobot -- Limpiar la pantalla desde la posición actual al final
ncurses_clrtoeol -- Limpiar la pantalla desde la posición actual al final de la línea
ncurses_color_content --  Obtiene el valor RGB del color
ncurses_color_set -- Establecer los colores de primer y segundo plano
ncurses_curs_set -- Establecer el estado del cursor
ncurses_def_prog_mode -- Guarda los modos de terminal (programa)
ncurses_def_shell_mode -- Guarda los modos de terminal (intérprete de comandos)
ncurses_define_key -- Definir un código de tecla
ncurses_del_panel --  Remover un panel de la pila y eliminarlo (pero no la ventana asociada)
ncurses_delay_output -- Retrasar la salida en la terminal usando caracteres de relleno
ncurses_delch -- Eliminar un caracter en la posición actual, mover el resto de la línea hacia la izquierda
ncurses_deleteln -- Eliminar una línea en la posición actual, mover el resto de la pantalla hacia arriba
ncurses_delwin -- Eliminar una ventana ncurses
ncurses_doupdate -- Escribir todas las actualizaciones preparadas sobre la terminal
ncurses_echo -- Activar la repetición de entrada del teclado
ncurses_echochar -- Salida de un caracter sencillo, incluyendo actualización
ncurses_end -- Dejar de usar ncurses, limpiar la pantalla
ncurses_erase -- Limpiar pantalla de terminal
ncurses_erasechar -- Devuelve el caracter de borrado actual
ncurses_filter -- Definir LINES para iniscr() y newterm() a 1
ncurses_flash -- Relampaguear la pantalla de terminal (campana visual)
ncurses_flushinp -- Volcar el búfer de entrada de teclado
ncurses_getch -- Leer un caracter desde el teclado
ncurses_getmaxyx -- Devuelve el tamaño de una ventana
ncurses_getmouse -- Lee un evento del mouse
ncurses_getyx --  Devuelve la posición de cursor actual para una ventana
ncurses_halfdelay -- Colocar la terminal en modo de medio retraso
ncurses_has_colors -- Chequear si la terminal tiene colores
ncurses_has_ic -- Chequear por el soporte de inserción y borrado
ncurses_has_il -- Chequea el soporte de inserción y borrado
ncurses_has_key -- Chequear por la presencia de una tecla de función en el teclado de la terminal
ncurses_hide_panel --  Remover un panel de la pila, haciéndolo invisible
ncurses_hline -- Dibujar una línea horizontal en la posición actual usando un caracter con atributos, y de máximo n caracteres de largo
ncurses_inch -- Obtener el caracter y los atributos de la posición actual
ncurses_init_color -- Establecer un nuevo valor RGB para un color
ncurses_init_pair -- Reservar una pareja de color
ncurses_init -- Inicializar ncurses
ncurses_insch -- Insertar un caracter, moviendo el resto de la línea, incluyendo el caracter en la posición actual
ncurses_insdelln -- Insertar líneas antes de la línea actual, desplazando hacia abajo (los números negativos eliminan líneas y desplazan hacia arriba)
ncurses_insertln -- Insertar una línea, mover el resto de la pantalla hacia abajo
ncurses_insstr -- Insertar cadena en la posición actual, moviendo el resto de la línea hacia la derecha
ncurses_instr -- Lee una cadena desde la pantalla de terminal
ncurses_isendwin -- Ncurses se encuentra en modo endwin, puede efectuarse salida de pantalla normal
ncurses_keyok -- Habilitar o deshabilitar un código de tecla
ncurses_keypad --  Activa o desactiva el teclado numérico
ncurses_killchar -- Devuelve el caracter de eliminación de línea actual
ncurses_longname -- Devuelve la descripción de la terminal
ncurses_meta --  Habilita/deshabilita la meta-información de 8-bits de tecla
ncurses_mouse_trafo --  Transforma coordenadas
ncurses_mouseinterval -- Establecer el tiempo de espera para clics de botón del mouse
ncurses_mousemask -- Establece opciones del mouse
ncurses_move_panel --  Mueve un panel de modo que su esquina superior izquierda se encuentre en [comienzo_x, comienzo_y]
ncurses_move -- Mover la posición de salida
ncurses_mvaddch -- Mover la posición actual y agregar un caracter
ncurses_mvaddchnstr -- Mover la posición y agregar una cadena con atributos con la longitud especificada
ncurses_mvaddchstr -- Mover la posición y agregar una cadena con atributos
ncurses_mvaddnstr -- Mover la posición y agregar una cadena con la longitud especificada
ncurses_mvaddstr -- Mover la posición y agregar una cadena
ncurses_mvcur -- Mover el cursor inmediatamente
ncurses_mvdelch -- Mover la posición y eliminar un caracter, desplazar el resto de la línea hacia la izquierda
ncurses_mvgetch -- Mover la posición y obtener el caracter en la nueva posición
ncurses_mvhline -- Establecer una nueva posición y dibujar una línea horizontal usando un caracter con atributos y una longitud máxima de n caracteres
ncurses_mvinch -- Mover la posición y obtener el caracter con atributos en la nueva posición
ncurses_mvvline -- Establecer una nueva posición y dibujar una línea vertical usando un caracter con atributos y una longitud máxima de n caracteres
ncurses_mvwaddstr -- Agregar una cadena en una nueva posición al interior de una ventana
ncurses_napms -- Dormir
ncurses_new_panel --  Crear un nuevo panel y asociarlo con una ventana
ncurses_newpad --  Crea un nuevo pad (ventana)
ncurses_newwin -- Crear una nueva ventana
ncurses_nl -- Traducir línea nueva y retorno de carro / alimentación de línea
ncurses_nocbreak -- Cambiar la terminal a modo normal (cooked)
ncurses_noecho -- Desactivar la repetición de entrada del teclado
ncurses_nonl -- No traducir línea nueva y retorno de carro / alimentación de línea
ncurses_noqiflush -- No realizar volcados en caracteres de señales
ncurses_noraw -- Salir del modo puro en la terminal
ncurses_pair_content --  Obtiene el valor RGB del color
ncurses_panel_above --  Devuelve el panel encima del panel indicado
ncurses_panel_below --  Devuelve el panel por debajo del panel indicado
ncurses_panel_window --  Devuelve la ventana asociada con el panel
ncurses_pnoutrefresh --  Copia una región desde un pad a la pantalla virtual
ncurses_prefresh --  Copia una región desde un pad a la pantalla virtual
ncurses_putp -- Aplicar la información de márgenes a la cadena e imprimirla
ncurses_qiflush -- Producir volcado en caracteres de señales
ncurses_raw -- Colocar la terminal en modo puro
ncurses_refresh -- Refrescar la pantalla
ncurses_replace_panel --  Reemplaza la ventana asociada con el panel
ncurses_reset_prog_mode --  Restablece el modo de programa guardado por def_prog_mode
ncurses_reset_shell_mode --  Restablece el modo de intérprete de comandos guardado por def_shell_mode
ncurses_resetty -- Restablece el estado guardado de la terminal
ncurses_savetty -- Guarda el estado de la terminal
ncurses_scr_dump -- Vuelca el contenido de la pantalla en un archivo
ncurses_scr_init -- Inicializar la pantalla desde un volcado en un archivo
ncurses_scr_restore -- Recuperar la pantalla desde un volcado en un archivo
ncurses_scr_set -- Heredar la pantalla de un volcado en un archivo
ncurses_scrl -- Desplazar el contenido de la ventana hacia arriba o abajo sin cambiar la posición actual
ncurses_show_panel --  Coloca un panel invisible al comienzo de la pila, haciéndola visible
ncurses_slk_attr -- Devuelve el atributo de la etiqueta suave de teclado
ncurses_slk_attroff -- Deshabilitar los atributos dados para las etiquetas suaves de teclado
ncurses_slk_attron -- Habilitar los atributos dados para las etiquetas suaves de funciones de teclado
ncurses_slk_attrset -- Definir los atributos dados para las etiquetas suaves de funciones de teclado
ncurses_slk_clear -- Limpia las etiquetas suaves de la pantalla
ncurses_slk_color -- Establece el color para las etiquetas suaves de teclado
ncurses_slk_init -- Inicializa las etiquetas suaves de funciones de teclado
ncurses_slk_noutrefresh -- Copia las etiquetas suaves de teclado a la pantalla virtual
ncurses_slk_refresh -- Copia las etiquetas suaves de teclado a la pantalla
ncurses_slk_restore -- Recupera las etiquetas suaves de teclado
ncurses_slk_set --  Establece las etiquetas de teclado
ncurses_slk_touch -- Obliga a que se produzca salida cuando se ejecute ncurses_slk_noutrefresh
ncurses_standend -- Dejar de usar el atributo 'standout'
ncurses_standout -- Comenzar a usar el atributo 'standout'
ncurses_start_color -- Comenzar a usar colores
ncurses_termattrs -- Devuelve un valor OR lógico de todas las banderas de atributos soportados por la terminal
ncurses_termname -- Devuelve el nombre (corto) de la terminal
ncurses_timeout -- Establecer el tiempo de espera para secuencias especiales de teclas
ncurses_top_panel --  Mueve un panel visible al tope de la pila
ncurses_typeahead -- Especificar un descriptor de archivo diferente para el chequeo de escritura siguiente
ncurses_ungetch -- Colocar un caracter de vuelta en la secuencia de entrada
ncurses_ungetmouse -- Coloca un evento de mouse en la cola
ncurses_update_panels --  Refresca la pantalla virtual, para reflejar las relaciones entre los paneles en la pila
ncurses_use_default_colors -- Asignar los colores predeterminados de la terminal al id de color -1
ncurses_use_env -- Controlar el uso de información del entorno sobre el tamaño de la terminal
ncurses_use_extended_names -- Controlar el uso de nombres extendidos en descripciones de información de terminal
ncurses_vidattr -- Desplegar la cadena en la terminal con el atributo de modo de video
ncurses_vline -- Dibujar una línea vertical en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres
ncurses_waddch --  Agrega un caracter en la posición actual de una ventana y avanza el cursor
ncurses_waddstr --  Imprime un texto en la posición actual de una ventana
ncurses_wattroff --  Deshabilita los atributos para una ventana
ncurses_wattron --  Habilita los atributos para una ventana
ncurses_wattrset --  Establecer los atributos para una ventana
ncurses_wborder -- Dibuja un borde alrededor de la ventana usando caracteres con atributos
ncurses_wclear --  Limpia la ventana
ncurses_wcolor_set --  Establece parejas de colores en la ventana
ncurses_werase --  Eliminar los contenidos de la ventana
ncurses_wgetch --  Lee un caracter desde el teclado (en la ventana)
ncurses_whline --  Dibuja una línea horizontal en una ventana en la posición actual usando un caracter con atributos y un largo máximo de n caracteres
ncurses_wmouse_trafo --  Transforma coordenadas de ventana/stdscr
ncurses_wmove --  Mueve la posición de salida de la ventana
ncurses_wnoutrefresh --  Copia la ventana a la pantalla virtual
ncurses_wrefresh -- Refrescar la ventana en la pantalla de terminal
ncurses_wstandend --  Finaliza el modo standout para una ventana
ncurses_wstandout --  Ingresar a modo standout en una ventana
ncurses_wvline --  Dibuja una línea vertical en una ventana en la posición actual usando un caracter con atributos y una longitud máxima de n caracteres

Hosting by: hurra.com
Generated: 2007-01-26 18:00:53