Aussi: N'oubliez pas que certains systèmes d'exploitation ont SIGWINCH qui votre processus reçoit lorsque le terminal est redimensionnée... initscr() sera effacer de l'écran. Est-il de toute façon qui peut obtenir la taille du terminal et de ne pas effacer de l'écran? Pas sûr que cela est vrai parce que y & x sont pas des pointeurs et, par conséquent, la fonction ne sera pas copier quoi que ce soit. Et à partir de mkssoftware.com : "getbegyx() and getmaxyx() macros store the current beginning coordinates and size of the specified window." Comme votre devis états, ceux sont toutes les macros, donc y et x n'ont pas besoin d'être des pointeurs. La macro fonctionne directement sur les variables, avec aucune copie de cession ou de pointeurs nécessaires.
ncurses applications traitent normalement SIGWINCH et l'utilisation de la ioctl avec TIOCGWINSZ pour obtenir le système de la notion de la screensize. Qui peuvent être remplacées par les variables d'environnement LIGNES et COLONNES (voir use_env).
Donné que le ncurses variables globales LIGNES et COLS sont mis à jour en tant qu'effet secondaire quand wgetch retourne KEY_RESIZE (en réponse à une SIGWINCH) pour donner la taille de stdscr (le standard de l'écran représentant la totalité de la borne).
Vous pouvez bien sûr utiliser getmaxx, getmaxy et getmaxyx pour obtenir l'une ou des deux limites pour x et y coordonnées d'une fenêtre. Seule la dernière est la norme (et portable).
void getmaxyx(FENÊTRE *gagnez, int y, int x);
je crois...aussi, ça peut aider...
L'obtention de terminal largeur en C?
initscr()
sera effacer de l'écran. Est-il de toute façon qui peut obtenir la taille du terminal et de ne pas effacer de l'écran?Pas sûr que cela est vrai parce que
y
&x
sont pas des pointeurs et, par conséquent, la fonction ne sera pas copier quoi que ce soit. Et à partir demkssoftware.com
: "getbegyx() and getmaxyx() macros store the current beginning coordinates and size of the specified window.
"Comme votre devis états, ceux sont toutes les macros, donc
y
etx
n'ont pas besoin d'être des pointeurs. La macro fonctionne directement sur les variables, avec aucune copie de cession ou de pointeurs nécessaires.OriginalL'auteur mtvee
ncurses applications traitent normalement
SIGWINCH
et l'utilisation de laioctl
avecTIOCGWINSZ
pour obtenir le système de la notion de la screensize. Qui peuvent être remplacées par les variables d'environnementLIGNES
etCOLONNES
(voiruse_env
).Donné que le ncurses variables globales
LIGNES
etCOLS
sont mis à jour en tant qu'effet secondaire quandwgetch
retourneKEY_RESIZE
(en réponse à uneSIGWINCH
) pour donner la taille destdscr
(le standard de l'écran représentant la totalité de la borne).Vous pouvez bien sûr utiliser
getmaxx
,getmaxy
etgetmaxyx
pour obtenir l'une ou des deux limites pour x et y coordonnées d'une fenêtre. Seule la dernière est la norme (et portable).Pour en savoir plus:
is_term_resized
,resize_term
,resizeterm
— changer leles malédictions, la taille du terminal
OriginalL'auteur Thomas Dickey
je suis en utilisant ce code:
OriginalL'auteur qknight
Que sur l'utilisation de
SCR_H
etSCR_W
?OriginalL'auteur Conrad Meyer
Source: NCURSES Programmation HOWTO
Je ne suis pas sûr si elles obtiennent des mises à jour sur redimensionner.
OriginalL'auteur Bora M. Alper