|
FTXUI 6.1.9
C++ functional terminal UI.
|
Una tubería POSIX es una forma en que dos programas separados pueden comunicarse. Un programa envía su salida directamente como entrada a otro programa. Piense en ello como un tubo unidireccional para datos.
Ejemplo:
Imagine que desea listar archivos y luego filtrarlos interactivamente.
ls: Lista archivos.interactive_grep: Una aplicación FTXUI que filtra texto y le permite escribir.Puede conectarlos con una tubería (|):
Esto es lo que sucede:
ls -l lista archivos con detalles.| envía esta lista directamente a interactive_grep.interactive_grep recibe la lista y la muestra. Debido a que es una aplicación FTXUI, puede escribir para filtrar la lista, aunque recibió datos iniciales de ls.Ahora que comprende qué es una tubería POSIX, veamos cómo las usa FTXUI.
FTXUI permite que su aplicación lea datos de otros programas (como de una tubería) sin dejar de permitirle usar su teclado para la interacción. Esto es útil para herramientas interactivas de línea de comandos que procesan datos.
Normalmente, las aplicaciones FTXUI reciben toda la entrada de stdin. Sin embargo, cuando FTXUI detecta que stdin está conectado a la salida de una tubería (lo que significa que los datos se están canalizando a su aplicación), cambia automáticamente a leer la entrada interactiva del teclado desde /dev/tty. Esto asegura que su aplicación aún pueda recibir la entrada del usuario incluso mientras procesa datos canalizados.
Esta característica está activada por defecto.
Si su aplicación FTXUI necesita leer datos canalizados y también responder a la entrada del teclado, normalmente no necesita hacer nada especial:
Si no necesita esta característica, o si entra en conflicto con su manejo de entrada personalizado, puede desactivarla.
Para deshabilitarla, llame a HandlePipedInput(false) antes de iniciar el bucle principal de su aplicación: