Funciones de Control de Pantalla con Terminal Ncurses LXXXIV. Funciones de Control de Pantalla con Terminal Ncurses
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
Para que estas funciones trabajen, debe compilar la versión
CGI o CLI de PHP con --with-ncurses[=DIR] .
El comportamiento de estas
funciones está afectado por los valores definidos en
php.ini .
Tabla 1. Opciones de configuración de ncurses
Nombre Predeterminado Modificable Cambios 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 .
Esta extensión no tiene
ningún tipo de recurso definido.
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.
En caso de fallos, las funciones ncurses devuelven NCURSES_ERR.
Tabla 2. constantes de color de ncurses
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
Tabla 3. constantes de teclas ncurses
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
Tabla 4. constantes de 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
Tabla de contenidos ncurses_addch -- Agregar un caracter en la posición actual y
avanzar el cursorncurses_addchnstr -- Agregar cadena con atributos y longitud especificada
en la posición actualncurses_addchstr -- Agregar una cadena con atributos en la posición
actualncurses_addnstr -- Agregar una cadena con la longitud especificada en la
posición actualncurses_addstr -- Imprimir texto en la posición
actualncurses_assume_default_colors -- Definir colores predeterminados para el color
0ncurses_attroff -- Deshabilitar los atributos dadosncurses_attron -- Habilitar los atributos dadosncurses_attrset -- Establecer los atributos dadosncurses_baudrate -- Devuelve la tasa de baudios de la terminalncurses_beep -- Producir un beep en la terminalncurses_bkgd -- Establecer la propiedad de segundo plano para la
pantalla de la terminalncurses_bkgdset -- Controla el segundo plano de la pantallancurses_border -- Dibujar un borde alrededor de la pantalla usando
caracteres con atributosncurses_bottom_panel --
Mueve un panel visible al fondo de la pila
ncurses_can_change_color -- Chequear si es posible cambiar los colores de la
terminalncurses_cbreak -- Cambio de búferes de entradancurses_clear -- Limpiar la pantallancurses_clrtobot -- Limpiar la pantalla desde la posición actual al
finalncurses_clrtoeol -- Limpiar la pantalla desde la posición actual al
final de la lÃneancurses_color_content --
Obtiene el valor RGB del color
ncurses_color_set -- Establecer los colores de primer y segundo
planoncurses_curs_set -- Establecer el estado del cursorncurses_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 teclancurses_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
rellenoncurses_delch -- Eliminar un caracter en la posición actual,
mover el resto de la lÃnea hacia la izquierdancurses_deleteln -- Eliminar una lÃnea en la posición
actual, mover el resto de la pantalla hacia arribancurses_delwin -- Eliminar una ventana ncursesncurses_doupdate -- Escribir todas las actualizaciones preparadas sobre la
terminalncurses_echo -- Activar la repetición de entrada del
tecladoncurses_echochar -- Salida de un caracter sencillo, incluyendo
actualizaciónncurses_end -- Dejar de usar ncurses, limpiar la
pantallancurses_erase -- Limpiar pantalla de terminalncurses_erasechar -- Devuelve el caracter de borrado actualncurses_filter -- Definir LINES para iniscr() y newterm() a
1ncurses_flash -- Relampaguear la pantalla de terminal (campana
visual)ncurses_flushinp -- Volcar el búfer de entrada de tecladoncurses_getch -- Leer un caracter desde el tecladoncurses_getmaxyx -- Devuelve el tamaño de una ventanancurses_getmouse -- Lee un evento del mousencurses_getyx --
Devuelve la posición de cursor actual para una ventana
ncurses_halfdelay -- Colocar la terminal en modo de medio
retrasoncurses_has_colors -- Chequear si la terminal tiene coloresncurses_has_ic -- Chequear por el soporte de inserción y
borradoncurses_has_il -- Chequea el soporte de inserción y
borradoncurses_has_key -- Chequear por la presencia de una tecla de
función en el teclado de la terminalncurses_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 largoncurses_inch -- Obtener el caracter y los atributos de la
posición actualncurses_init_color -- Establecer un nuevo valor RGB para un
colorncurses_init_pair -- Reservar una pareja de colorncurses_init -- Inicializar ncursesncurses_insch -- Insertar un caracter, moviendo el resto de la
lÃnea, incluyendo el caracter en la posición
actualncurses_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 abajoncurses_insstr -- Insertar cadena en la posición actual, moviendo
el resto de la lÃnea hacia la derechancurses_instr -- Lee una cadena desde la pantalla de
terminalncurses_isendwin -- Ncurses se encuentra en modo endwin, puede efectuarse
salida de pantalla normalncurses_keyok -- Habilitar o deshabilitar un código de
teclancurses_keypad --
Activa o desactiva el teclado numérico
ncurses_killchar -- Devuelve el caracter de eliminación de
lÃnea actualncurses_longname -- Devuelve la descripción de la
terminalncurses_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 mousencurses_mousemask -- Establece opciones del mousencurses_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 salidancurses_mvaddch -- Mover la posición actual y agregar un
caracterncurses_mvaddchnstr -- Mover la posición y agregar una cadena con
atributos con la longitud especificadancurses_mvaddchstr -- Mover la posición y agregar una cadena con
atributosncurses_mvaddnstr -- Mover la posición y agregar una cadena con la
longitud especificadancurses_mvaddstr -- Mover la posición y agregar una
cadenancurses_mvcur -- Mover el cursor inmediatamentencurses_mvdelch -- Mover la posición y eliminar un caracter,
desplazar el resto de la lÃnea hacia la
izquierdancurses_mvgetch -- Mover la posición y obtener el caracter en la
nueva posiciónncurses_mvhline -- Establecer una nueva posición y dibujar una
lÃnea horizontal usando un caracter con atributos y una
longitud máxima de n caracteresncurses_mvinch -- Mover la posición y obtener el caracter con
atributos en la nueva posiciónncurses_mvvline -- Establecer una nueva posición y dibujar una
lÃnea vertical usando un caracter con atributos y una
longitud máxima de n caracteresncurses_mvwaddstr -- Agregar una cadena en una nueva posición al
interior de una ventanancurses_napms -- Dormirncurses_new_panel --
Crear un nuevo panel y asociarlo con una ventana
ncurses_newpad --
Crea un nuevo pad (ventana)
ncurses_newwin -- Crear una nueva ventanancurses_nl -- Traducir lÃnea nueva y retorno de carro /
alimentación de lÃneancurses_nocbreak -- Cambiar la terminal a modo normal
(cooked)ncurses_noecho -- Desactivar la repetición de entrada del
tecladoncurses_nonl -- No traducir lÃnea nueva y retorno de carro /
alimentación de lÃneancurses_noqiflush -- No realizar volcados en caracteres de
señalesncurses_noraw -- Salir del modo puro en la terminalncurses_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 imprimirlancurses_qiflush -- Producir volcado en caracteres de
señalesncurses_raw -- Colocar la terminal en modo puroncurses_refresh -- Refrescar la pantallancurses_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
terminalncurses_savetty -- Guarda el estado de la terminalncurses_scr_dump -- Vuelca el contenido de la pantalla en un
archivoncurses_scr_init -- Inicializar la pantalla desde un volcado en un
archivoncurses_scr_restore -- Recuperar la pantalla desde un volcado en un
archivoncurses_scr_set -- Heredar la pantalla de un volcado en un
archivoncurses_scrl -- Desplazar el contenido de la ventana hacia arriba o
abajo sin cambiar la posición actualncurses_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
tecladoncurses_slk_attroff -- Deshabilitar los atributos dados para las etiquetas
suaves de tecladoncurses_slk_attron -- Habilitar los atributos dados para las etiquetas
suaves de funciones de tecladoncurses_slk_attrset -- Definir los atributos dados para las etiquetas suaves
de funciones de tecladoncurses_slk_clear -- Limpia las etiquetas suaves de la
pantallancurses_slk_color -- Establece el color para las etiquetas suaves de
tecladoncurses_slk_init -- Inicializa las etiquetas suaves de funciones de
tecladoncurses_slk_noutrefresh -- Copia las etiquetas suaves de teclado a la pantalla
virtualncurses_slk_refresh -- Copia las etiquetas suaves de teclado a la
pantallancurses_slk_restore -- Recupera las etiquetas suaves de tecladoncurses_slk_set --
Establece las etiquetas de teclado
ncurses_slk_touch -- Obliga a que se produzca salida cuando se ejecute
ncurses_slk_noutrefreshncurses_standend -- Dejar de usar el atributo 'standout'ncurses_standout -- Comenzar a usar el atributo 'standout'ncurses_start_color -- Comenzar a usar coloresncurses_termattrs -- Devuelve un valor OR lógico de todas las
banderas de atributos soportados por la terminalncurses_termname -- Devuelve el nombre (corto) de la terminalncurses_timeout -- Establecer el tiempo de espera para secuencias
especiales de teclasncurses_top_panel --
Mueve un panel visible al tope de la pila
ncurses_typeahead -- Especificar un descriptor de archivo diferente para
el chequeo de escritura siguientencurses_ungetch -- Colocar un caracter de vuelta en la secuencia de
entradancurses_ungetmouse -- Coloca un evento de mouse en la colancurses_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 -1ncurses_use_env -- Controlar el uso de información del entorno
sobre el tamaño de la terminalncurses_use_extended_names -- Controlar el uso de nombres extendidos en
descripciones de información de terminalncurses_vidattr -- Desplegar la cadena en la terminal con el atributo de
modo de videoncurses_vline -- Dibujar una lÃnea vertical en la
posición actual usando un caracter con atributos y una
longitud máxima de n caracteresncurses_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 atributosncurses_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
terminalncurses_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