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.
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
Note: This extension has been moved to the » PECL repository and is no longer bundled with PHP as of PHP 6.0.0
Requisitos
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
Esta extensión no tiene directivas de configuración en php.ini.
Tipos de recursos
Esta extensión define los recursos de ventana, panel y relleno.
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
constante | significado |
---|---|
NCURSES_COLOR_BLACK | sin color (negro) |
NCURSES_COLOR_WHITE | blanco |
NCURSES_COLOR_RED | rojo - soportado cuando la terminal se encuentra en modo de color |
NCURSES_COLOR_GREEN | verde - soportado cuando la terminal se encuentra en modo de color |
NCURSES_COLOR_YELLOW | amarillo - soportado cuando la terminal se encuentra en modo de color |
NCURSES_COLOR_BLUE | azul - soportado cuando la terminal se encuentra en modo de color |
NCURSES_COLOR_CYAN | cyan - soportado cuando la terminal se encuentra en modo de color |
NCURSES_COLOR_MAGENTA | magenta - soportado cuando la terminal se encuentra en modo de color |
Teclas
constante | significado |
---|---|
NCURSES_KEY_F0 - NCURSES_KEY_F64 | teclas de función F1 - F64 |
NCURSES_KEY_DOWN | flecha hacia abajo |
NCURSES_KEY_UP | flecha hacia arriba |
NCURSES_KEY_LEFT | flecha hacia la izquierda |
NCURSES_KEY_RIGHT | flecha hacia la derecha |
NCURSES_KEY_HOME | tecla home (flecha arriba+izquierda) |
NCURSES_KEY_BACKSPACE | backspace |
NCURSES_KEY_DL | eliminar lÃnea |
NCURSES_KEY_IL | insertar lÃnea |
NCURSES_KEY_DC | eliminar caracter |
NCURSES_KEY_IC | insertar caracter o entrar en modo de inserción |
NCURSES_KEY_EIC | salir de modo de inserción de caracteres |
NCURSES_KEY_CLEAR | limpiar la pantalla |
NCURSES_KEY_EOS | limpiar hasta el fin de la pantalla |
NCURSES_KEY_EOL | limpiar hasta el fin de la lÃnea |
NCURSES_KEY_SF | desplazarse una lÃnea hacia adelante |
NCURSES_KEY_SR | desplazarse una lÃnea hacia atrás |
NCURSES_KEY_NPAGE | siguiente página |
NCURSES_KEY_PPAGE | página anterior |
NCURSES_KEY_STAB | definir tab |
NCURSES_KEY_CTAB | eliminar tab |
NCURSES_KEY_CATAB | eliminar todos los tabs |
NCURSES_KEY_SRESET | reset suave (parcial) |
NCURSES_KEY_RESET | reset o reset fuerte |
NCURSES_KEY_PRINT | imprimir |
NCURSES_KEY_LL | izquierda inferior |
NCURSES_KEY_A1 | izquierda superior del teclado numérico |
NCURSES_KEY_A3 | derecha superior del teclado numérico |
NCURSES_KEY_B2 | centro del teclado numérico |
NCURSES_KEY_C1 | izquierda inferior del teclado numérico |
NCURSES_KEY_C3 | derecha inferior del teclado numérico |
NCURSES_KEY_BTAB | tab hacia atrás |
NCURSES_KEY_BEG | comienzo |
NCURSES_KEY_CANCEL | cancelar |
NCURSES_KEY_CLOSE | cerrar |
NCURSES_KEY_COMMAND | cmd (comando) |
NCURSES_KEY_COPY | copiar |
NCURSES_KEY_CREATE | crear |
NCURSES_KEY_END | fin |
NCURSES_KEY_EXIT | salida |
NCURSES_KEY_FIND | encontrar |
NCURSES_KEY_HELP | ayuda |
NCURSES_KEY_MARK | marca |
NCURSES_KEY_MESSAGE | mensaje |
NCURSES_KEY_MOVE | mover |
NCURSES_KEY_NEXT | siguiente |
NCURSES_KEY_OPEN | abrir |
NCURSES_KEY_OPTIONS | opciones |
NCURSES_KEY_PREVIOUS | anterior |
NCURSES_KEY_REDO | rehacer |
NCURSES_KEY_REFERENCE | ref (referencia) |
NCURSES_KEY_REFRESH | refrescar |
NCURSES_KEY_REPLACE | reemplazar |
NCURSES_KEY_RESTART | reiniciar |
NCURSES_KEY_RESUME | reiniciar |
NCURSES_KEY_SAVE | guardar |
NCURSES_KEY_SBEG | comienzo usando shift |
NCURSES_KEY_SCANCEL | cancelar usando shift |
NCURSES_KEY_SCOMMAND | comando usando shift |
NCURSES_KEY_SCOPY | copiar usando shift |
NCURSES_KEY_SCREATE | crear usando shift |
NCURSES_KEY_SDC | eliminar caracter usando shift |
NCURSES_KEY_SDL | eliminar lÃnea usando shift |
NCURSES_KEY_SELECT | seleccionar |
NCURSES_KEY_SEND | final usando shift |
NCURSES_KEY_SEOL | fin de lÃnea usando shift |
NCURSES_KEY_SEXIT | salida usando shift |
NCURSES_KEY_SFIND | encontrar usando shift |
NCURSES_KEY_SHELP | ayuda usando shift |
NCURSES_KEY_SHOME | home usando shift |
NCURSES_KEY_SIC | entrada usando shift |
NCURSES_KEY_SLEFT | flecha hacia la izquierda usando shift |
NCURSES_KEY_SMESSAGE | mensaje usando shift |
NCURSES_KEY_SMOVE | mover usando shift |
NCURSES_KEY_SNEXT | siguiente usando shift |
NCURSES_KEY_SOPTIONS | opciones usando shift |
NCURSES_KEY_SPREVIOUS | anterior usando shift |
NCURSES_KEY_SPRINT | imprimir usando shift |
NCURSES_KEY_SREDO | rehacer usando shift |
NCURSES_KEY_SREPLACE | reemplazar usando shift |
NCURSES_KEY_SRIGHT | flecha hacia la derecha usando shift |
NCURSES_KEY_SRSUME | reiniciar usando shift |
NCURSES_KEY_SSAVE | guardar usando shift |
NCURSES_KEY_SSUSPEND | suspender usando shift |
NCURSES_KEY_UNDO | deshacer |
NCURSES_KEY_MOUSE | evento del mouse ha ocurrido |
NCURSES_KEY_MAX | valor máximo de tecla |
Mouse
Constante | significado |
---|---|
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED | botón (1-4) liberado |
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED | botón (1-4) presionado |
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED | botón (1-4) pulsado |
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED | botón (1-4) pulsado dos veces |
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED | botón (1-4) pulsado tres veces |
NCURSES_BUTTON_CTRL | ctrl presionado durante el clic |
NCURSES_BUTTON_SHIFT | shift presionado durante el clic |
NCURSES_BUTTON_ALT | alt presionado durante el clic |
NCURSES_ALL_MOUSE_EVENTS | reportar todos los eventos del mouse |
NCURSES_REPORT_MOUSE_POSITION | reportar la posición del mouse |
Table of Contents
- 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