Comment trouver la largeur du terminal & hauteur d'une application ncurses?Taille du terminal ncurses
Répondre
void getmaxyx(WINDOW *win, int y, int x);
je crois ...
aussi, cela peut aider ...
Aussi: N'oubliez pas que certains systèmes d'exploitation ont SIGWINCH que votre processus reçoit lorsque le terminal est redimensionné ... – asveikau
'initscr()' effacera l'écran. Y at-il un moyen qui peut obtenir la taille des terminaux et ne pas effacer l'écran? – jiandingzhe
Je ne suis pas sûr que ce soit vrai parce que 'y' &' x' ne sont pas des pointeurs et donc la fonction ne leur copiera rien. Et à partir de 'mkssoftware.com': les macros" 'getbegyx() et getmaxyx() stockent les coordonnées de début et la taille de la fenêtre spécifiée." " –
Qu'en est-il en utilisant SCR_H
et SCR_W
?
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);
Ce n'est pas très ncursesish. – einpoklum
applications ncurses gèrent normalement SIGWINCH
et utiliser le ioctl
avec TIOCGWINSZ
pour obtenir la notion de screensize du système. Cela peut être remplacé par les variables d'environnement LINES
et COLUMNS
(voir use_env
).
Compte tenu de cela, les ncurses variables globales LINES
et COLS
sont mis à jour comme un effet secondaire lorsque wgetch
rendements KEY_RESIZE
(en réponse à une SIGWINCH
) pour donner la taille de stdscr
(l'écran standard représentant l'ensemble du terminal).
Vous pouvez bien sûr utiliser getmaxx
, getmaxy
et getmaxyx
pour obtenir une ou les deux limites pour les ordonnées et les ordonnées d'une fenêtre. Seul le dernier est standard (et portable).
Pour en savoir plus:
les variables COLS, les lignes sont initialisés aux tailles d'écran après initscr().
Source: NCURSES Programming HOWTO
Je ne sais pas s'ils sont mis à jour Redimensionner bien.
- 1. Taille du terminal SSH/Telnet par défaut
- 2. Comment régler la taille du terminal?
- 3. Impression de caractères de taille double avec Ncurses
- 4. Comment définir explicitement la taille du terminal lors de l'utilisation pexpect
- 5. Comment puis-je ajouter au scrollback du terminal en utilisant ncurses?
- 6. Demande de taille de terminal [C - Linux]
- 7. ncurses et blanc-sur-noir
- 8. Est-ce que endwin() désinitialise ncurses?
- 9. Obtenir 256 couleurs de ruby-ncurses
- 10. Getch(), non bloquant, ncurses
- 11. retravailler sur ncurses
- 12. NCurses stdin en C
- 13. Ncurses User Pointer
- 14. Lecteur de texte défilant Ncurses
- 15. ncurses et le blocage stdin
- 16. lien statiquement ncurses pour programmer
- 17. NCurses et Perl, des guides?
- 18. NCurses-Like System pour Windows
- 19. Compiling NCurses src sur HPUX
- 20. Yacc: Code après chaque terminal non-terminal
- 21. Système de fichiers utilisant l'itérateur du terminal
- 22. Gestion des utilisateurs du terminal via System.DirectoryServices
- 23. Ouverture des fenêtres du terminal avec bash
- 24. téléchargement vers ftp à partir du terminal
- 25. Mappage des touches du terminal distant Unix
- 26. Consignation des commandes du terminal dans * nix
- 27. Objectif C: Sortie du terminal dans NSString
- 28. Redimensionnement du terminal qui préserve la sortie
- 29. Analyse XML à l'aide du terminal unix
- 30. Obtenir la largeur du terminal en C?
@DylanJ, pas besoin de mettre la réponse dans la question, surtout une fois que vous avez accepté la réponse. – paxdiablo