Question

Comment trouver la largeur du terminal & amp; hauteur d'une application ncurses?

Était-ce utile?

Autres conseils

Les applications

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top