Question
Comment trouver la largeur du terminal & amp; hauteur d'une application ncurses?
La solution
annuler getmaxyx (WINDOW * win, int y, int x);
Je crois ...
aussi, cela peut aider ...
Autres conseils
ncurses gèrent normalement SIGWINCH
et utilisent le ioctl
avec TIOCGWINSZ
pour obtenir la notion de taille d'écran du système. Cela peut être remplacé par les variables d'environnement LINES
et COLONNES
(voir use_env
).
Compte tenu de cela, les variables globales ncurses LINES
et COLS
sont mis à jour en tant qu'effet secondaire lorsque wgetch
renvoie KEY_RESIZE
(en réponse à un SIGWINCH
) pour donner la taille < code> stdscr (l’écran standard représentant l’ensemble du terminal).
Vous pouvez bien sûr utiliser getmaxx
, getmaxy
et getmaxyx
pour obtenir l'une ou les deux limites du x - et y-ordonnées d'une fenêtre. Seul le dernier est standard (et portable).
Lectures supplémentaires:
J'utilise ce code:
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);
Qu'en est-il de l'utilisation de SCR_H
et de SCR_W
?
les variables COLS, LINES sont initialisées aux tailles d’écran après initscr ().
Source: HOWTO de la programmation par NCURSES
Je ne sais pas s'ils seront mis à jour lors du redimensionnement.