¿Cómo puedo encontrar el ancho del terminal & altura de una aplicación ncurses?ncurses tamaño de terminal
Respuesta
void getmaxyx(WINDOW *win, int y, int x);
creo ...
También, esto puede ayudar ...
También: no olvide que algunos sistemas operativos tienen SIGWINCH que su proceso recibe cuando se cambia el tamaño de la terminal ... – asveikau
'initscr()' borrará la pantalla. ¿Hay alguna manera que pueda obtener el tamaño del terminal y no borrar la pantalla? – jiandingzhe
No estoy seguro de que esto sea cierto porque 'y' y' x' no son punteros y, por lo tanto, la función no les copiará nada. Y de 'mkssoftware.com':" 'getbegyx() y las macros getmaxyx() almacenan las coordenadas de inicio actuales y el tamaño de la ventana especificada." –
Qué acerca del uso SCR_H
y SCR_W
?
estoy utilizando este código:
struct winsize size;
if (ioctl(0, TIOCGWINSZ, (char *) &size) < 0)
printf("TIOCGWINSZ error");
printf("%d rows, %d columns\n", size.ws_row, size.ws_col);
Eso no es muy ncurses'ish. – einpoklum
aplicaciones ncurses manejan normalmente SIGWINCH
y utilizar el ioctl
con TIOCGWINSZ
para obtener la noción de sistema de la Tamaño_de_la_pantalla. Eso puede ser anulado por las variables de entorno LINES
y COLUMNS
(ver use_env
).
Teniendo en cuenta que, las variables globales ncurses LINES
y COLS
se actualizan a medida un efecto secundario cuando wgetch
rendimientos KEY_RESIZE
(en respuesta a una SIGWINCH
) para dar el tamaño de stdscr
(la pantalla estándar que representa toda la terminal).
Por supuesto, puede usar getmaxx
, getmaxy
y getmaxyx
para obtener uno o ambos límites para las ordenadas x e y de una ventana. Solo el último es estándar (y portátil).
Lectura adicional:
las variables COLS, las líneas se inicializan a los tamaños de pantalla después de initscr().
Fuente: NCURSES Programming HOWTO
no estoy seguro de si se actualizan en el cambio de tamaño sin embargo.
- 1. No se puede determinar el tamaño del terminal con ncurses
- 2. Cambiar tamaño de fuente del terminal con C++
- 3. Terminal de ajuste de tamaño en Emacs
- 4. Cómo establecer explícitamente el tamaño del terminal cuando se usa pexpect
- 5. Python ncurses, CDK, diferencia urwid
- 6. Ncurses de depuración con Eclipse CDT
- 7. Haskell ncurses
- 8. NCurses Refresh
- 9. Obteniendo 256 colores de ruby-ncurses
- 10. Eventos de movimiento de mouse en NCurses
- 11. ¿Cómo se puede adquirir la paleta del terminal original, preferiblemente usando rutinas ncurses?
- 12. ncurses y blanco sobre negro
- 13. ncurses- KEY_ENTER falló
- 14. getch sin bloqueo(), ncurses
- 15. C++ wrappers para ncurses?
- 16. ncurses transparent console background
- 17. RPG basado en terminal
- 18. ¿Cómo obtener el tamaño del terminal en c para Windows?
- 19. NCurses y Perl, ¿alguna guía?
- 20. NCurses-Like System para Windows
- 21. estáticamente ncurses enlace para programar
- 22. hscurses o ncurses, ¿cuál usar?
- 23. ¿Hay ncurses disponibles para Windows?
- 24. obtener la posición del cursor de la terminal
- 25. Usando el espacio de fondo con ncurses
- 26. Inicialización de NCurses sin borrar la pantalla
- 27. ¿Cómo puedo terminar ncurses sin finalizar el programa C++?
- 28. Texto de color en aplicaciones de terminal en UNIX
- 29. Rellenar una ventana ncurses con un color
- 30. ncurses novatos - comenzando con GNU C
@DylanJ, no hay necesidad de poner la respuesta en la pregunta, especialmente una vez que haya aceptado la respuesta. – paxdiablo