Forum und email

Fonctions de contrôle d'écran de terminal

Introduction

ncurses (new curses, les nouveaux curseurs) sont une émulation libre des curseurs du System V Rel 4.0 (et plus récente). Ils utilisent le format terminfo, supportent les pavés numériques, les couleurs, les colorations multiples, les caractères de formulaire et les touches de fonctions. De par la nature intéractive de cette bibliothèque, il est hors de question de l'utiliser pour écrire des applications pour le Web mais, par contre, elle peut être très intéressante pour écrire des scripts en ligne de commande.

Warning

Ce module est EXPERIMENTAL. Cela signifie que le comportement de ces fonctions, leurs noms et, concrètement, TOUT ce qui est documenté ici peut changer dans un futur proche, SANS PREAVIS ! Soyez-en conscient, et utilisez ce module à vos risques et périls.

Ncurses est disponible sur les plates-formes suivantes :

  • AIX

  • BeOS

  • Cygwin

  • Digital Unix (aka OSF1)

  • FreeBSD

  • GNU/Linux

  • HPUX

  • IRIX

  • OS/2

  • SCO OpenServer

  • Solaris

  • SunOS

Note: Cette extension a été déplacée dans le module » PECL et ne sera plus intégrée dans PHP à partir de PHP 6.0.0

Pré-requis

Vous devez disposer des bibliothèques ncurses et des fichiers d'en-têtes. Téléchargez la dernière version sur le site de » ftp://ftp.gnu.org/pub/gnu/ncurses/ ou sur un miroir GNU.

Installation

Pour installer cette extension, compilez PHP en mode CGI ou CLI, avec l'option --with-ncurses[=DIR].

Configuration à l'exécution

Cette extension ne définit aucune directive de configuration.

Types de ressources

Cette extension définit les ressources window, panel et pad.

Constantes pré-définies

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Codes d'erreurs

En cas d'erreur, les fonctions ncurses retournent NCURSES_ERR.

Colors

Constantes de couleurs ncurses
Constante Signification
NCURSES_COLOR_BLACK Pas de couleur
NCURSES_COLOR_WHITE blanc
NCURSES_COLOR_RED rouge - supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_GREEN vert - supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_YELLOW jaune - supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_BLUE bleu - supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_CYAN cyan - supporté lorsque le terminal est en mode couleurs
NCURSES_COLOR_MAGENTA magenta - supporté lorsque le terminal est en mode couleurs

Touches

Constantes de touches ncurses
Constante Signification
NCURSES_KEY_F0 - NCURSES_KEY_F64 Touches de fonctions F1 - F64
NCURSES_KEY_DOWN flèche vers le bas
NCURSES_KEY_UP flèche vers le haut
NCURSES_KEY_LEFT flèche vers la gauche
NCURSES_KEY_RIGHT flèche vers la droite
NCURSES_KEY_HOME touche home (vers le haut + flèche vers la gauche)
NCURSES_KEY_BACKSPACE retour en arrière
NCURSES_KEY_DL efface une ligne
NCURSES_KEY_IL insère une ligne
NCURSES_KEY_DC efface un caractère
NCURSES_KEY_IC insère un caractère, ou bien passe en mode insertion
NCURSES_KEY_EIC termine le mode insertion
NCURSES_KEY_CLEAR efface l'écran
NCURSES_KEY_EOS efface l'écran jusqu'en bas
NCURSES_KEY_EOL efface l'écran jusqu'à la fin de la ligne
NCURSES_KEY_SF scrolle une ligne vers le bas
NCURSES_KEY_SR scrolle une ligne vers le haut
NCURSES_KEY_NPAGE page suivante
NCURSES_KEY_PPAGE page précédente
NCURSES_KEY_STAB place une tabulation
NCURSES_KEY_CTAB supprime une tabulation
NCURSES_KEY_CATAB supprime toutes les tabulations
NCURSES_KEY_SRESET remise à zéro partielle
NCURSES_KEY_RESET remise à zéro totale
NCURSES_KEY_PRINT imprime
NCURSES_KEY_LL inférieur gauche (sur le pavé numérique)
NCURSES_KEY_A1 supérieur gauche (sur le pavé numérique)
NCURSES_KEY_A3 supérieur droit (sur le pavé numérique)
NCURSES_KEY_B2 centre (sur le pavé numérique)
NCURSES_KEY_C1 inférieur gauche (sur le pavé numérique)
NCURSES_KEY_C3 inférieur droit (sur le pavé numérique)
NCURSES_KEY_BTAB tabulation arrière
NCURSES_KEY_BEG début
NCURSES_KEY_CANCEL annule
NCURSES_KEY_CLOSE ferme
NCURSES_KEY_COMMAND commande
NCURSES_KEY_COPY copie
NCURSES_KEY_CREATE crée
NCURSES_KEY_END fin
NCURSES_KEY_EXIT quitte
NCURSES_KEY_FIND trouve
NCURSES_KEY_HELP aide
NCURSES_KEY_MARK marque
NCURSES_KEY_MESSAGE message
NCURSES_KEY_MOVE déplace
NCURSES_KEY_NEXT suivant
NCURSES_KEY_OPEN ouvre
NCURSES_KEY_OPTIONS options
NCURSES_KEY_PREVIOUS précédent
NCURSES_KEY_REDO refaire
NCURSES_KEY_REFERENCE référence
NCURSES_KEY_REFRESH rafraîchis
NCURSES_KEY_REPLACE replace
NCURSES_KEY_RESTART redémarre
NCURSES_KEY_RESUME recommence
NCURSES_KEY_SAVE sauve
NCURSES_KEY_SBEG shift et début
NCURSES_KEY_SCANCEL shift et annule
NCURSES_KEY_SCOMMAND shift et commande
NCURSES_KEY_SCOPY shift et copie
NCURSES_KEY_SCREATE shift et crée
NCURSES_KEY_SDC shift et efface un caractère
NCURSES_KEY_SDL shift et efface une ligne
NCURSES_KEY_SELECT sélectionne
NCURSES_KEY_SEND shift et fin
NCURSES_KEY_SEOL shift et fin de ligne
NCURSES_KEY_SEXIT shift et quitte
NCURSES_KEY_SFIND shift et trouve
NCURSES_KEY_SHELP shift et aide
NCURSES_KEY_SHOME shift et home
NCURSES_KEY_SIC shift et entrée
NCURSES_KEY_SLEFT shift et flèche vers la gauche
NCURSES_KEY_SMESSAGE shift et message
NCURSES_KEY_SMOVE shift et déplace
NCURSES_KEY_SNEXT shift et suivant
NCURSES_KEY_SOPTIONS shift et options
NCURSES_KEY_SPREVIOUS shift et précédent
NCURSES_KEY_SPRINT shift et imprime
NCURSES_KEY_SREDO shift et refait
NCURSES_KEY_SREPLACE shift et remplace
NCURSES_KEY_SRIGHT shift et flèche vers la droite
NCURSES_KEY_SRSUME shift et recommnence
NCURSES_KEY_SSAVE shift et sauve
NCURSES_KEY_SSUSPEND shift et suspend
NCURSES_KEY_UNDO défait
NCURSES_KEY_MOUSE un événement souris est survenu
NCURSES_KEY_MAX valeur maximale de clé

Souris

Constantes de souris
Constante Signification
NCURSES_BUTTON1_RELEASED - NCURSES_BUTTON4_RELEASED bouton (1-4) relaché
NCURSES_BUTTON1_PRESSED - NCURSES_BUTTON4_PRESSED bouton (1-4) pressé
NCURSES_BUTTON1_CLICKED - NCURSES_BUTTON4_CLICKED bouton (1-4) cliqué
NCURSES_BUTTON1_DOUBLE_CLICKED - NCURSES_BUTTON4_DOUBLE_CLICKED bouton (1-4) double cliqué
NCURSES_BUTTON1_TRIPLE_CLICKED - NCURSES_BUTTON4_TRIPLE_CLICKED bouton (1-4) triple cliqué
NCURSES_BUTTON_CTRL ctrl pressé durant le clic
NCURSES_BUTTON_SHIFT shift pressé durant le clic
NCURSES_BUTTON_ALT alt pressé durant le clic
NCURSES_ALL_MOUSE_EVENTS indique tous les événements souris
NCURSES_REPORT_MOUSE_POSITION indique la position de la souris

Table of Contents

  • ncurses_addch — Ajoute un caractère à la position courante et avance le curseur
  • ncurses_addchnstr — Ajoute une chaîne de taille donnée à la position courante
  • ncurses_addchstr — Ajoute une chaîne à la position courante
  • ncurses_addnstr — Ajoute une chaîne à la position courante
  • ncurses_addstr — Affiche du texte à la position courante
  • ncurses_assume_default_colors — Définit la couleur 0
  • ncurses_attroff — Désactive les attributs donnés
  • ncurses_attron — Active les attributs fournis
  • ncurses_attrset — Modifie les attributs donnés
  • ncurses_baudrate — Retourne le baudrate du terminal
  • ncurses_beep — Fait beeper le terminal
  • ncurses_bkgd — Définit les propriétés de fond d'écran pour le terminal
  • ncurses_bkgdset — Définit le fond d'écran
  • ncurses_border — Dessine un bord autour de l'écran avec les caractères données
  • ncurses_bottom_panel — Place un conteneur visibile en bas de la pile
  • ncurses_can_change_color — Vérifie si le terminal peut changer de couleurs
  • ncurses_cbreak — Change la bufferisation d'entrée
  • ncurses_clear — Efface l'écran
  • ncurses_clrtobot — Efface l'écran depuis la position courante jusqu'au bas de l'écran
  • ncurses_clrtoeol — Efface l'écran depuis la position courante jusqu'à la fin de la ligne
  • ncurses_color_content — Lit la valeur RGB d'une couleur
  • ncurses_color_set — Modifie la couleur de fond et de devant
  • ncurses_curs_set — Modifie l'état du curseur
  • ncurses_def_prog_mode — Sauve le mode du terminal
  • ncurses_def_shell_mode — Sauve le mode de terminal (shell)
  • ncurses_define_key — Définit un code de clé (keycode)
  • ncurses_del_panel — Retire un conteneur de la pile et l'efface (mais pas la fenêtre associée)
  • ncurses_delay_output — Retarde l'affichage sur les terminaux utilisant des caractères de remplissage
  • ncurses_delch — Efface le caractère courant et décale le reste de la ligne vers la gauche
  • ncurses_deleteln — Efface la ligne courante, et monte l'écran d'une ligne
  • ncurses_delwin — Efface une fenête ncurses
  • ncurses_doupdate — Affiche tout ce qui est prêt, et rafraîchit l'écran
  • ncurses_echo — Active l'écho d'entrée clavier
  • ncurses_echochar — Affiche un caractère et rafraîchit l'écran
  • ncurses_end — Cesse l'utilisation de ncurses et efface l'écran
  • ncurses_erase — Efface l'écran du terminal
  • ncurses_erasechar — Lit le caractère qui se fait effacer
  • ncurses_filter — Définit LINES pour iniscr() et newterm() à 1
  • ncurses_flash — Fait flasher le terminal (visual bell)
  • ncurses_flushinp — Vide le buffer d'entrée du clavier
  • ncurses_getch — Lit un caractère sur le clavier
  • ncurses_getmaxyx — Retourne la taille d'une fenêtre
  • ncurses_getmouse — Lit les événements souris
  • ncurses_getyx — Retourne la position courante du curseur pour une fenêtre
  • ncurses_halfdelay — Met le terminal en mode semi-retardé
  • ncurses_has_colors — Vérifie que le terminal supporte les couleurs
  • ncurses_has_ic — Vérifie les capacités d'insertion et d'effacement
  • ncurses_has_il — Vérifie les capacités d'insertion et d'effacement
  • ncurses_has_key — Vérifie la présence des touches de fonctions sur le clavier
  • ncurses_hide_panel — Retire un conteneur de la pile, pour le rendre invisible
  • ncurses_hline — Dessine une ligne horizontale à la position courante, en utilisant un caractère et une taille maximale
  • ncurses_inch — Lit le caractère et ses attributs à la position courante
  • ncurses_init_color — Configure une nouvelle valeur RGB pour une couleur
  • ncurses_init_pair — Alloue une paire de couleur
  • ncurses_init — Initialise ncurses
  • ncurses_insch — Insère un caractère et décale le reste de la ligne vers la droite, y compris le caractère courant
  • ncurses_insdelln — Insère des lignes devant la ligne courante en scrollant vers le bas (des nombres négatifs donneront un scroll vers le haut)
  • ncurses_insertln — Insère une ligne et décale le reste de l'écran vers le bas
  • ncurses_insstr — Insère une chaîne à la position courante, et décale le reste de la chaîne à droite
  • ncurses_instr — Lit une chaîne depuis le terminal
  • ncurses_isendwin — Ncurses est en mode endwin, des affichages normaux sont possibles
  • ncurses_keyok — Active ou désactive un code de clé (keycode)
  • ncurses_keypad — Active ou désactive le keypad
  • ncurses_killchar — Retourne la ligne du caractère actuellement supprimé
  • ncurses_longname — Retourne la description du terminal
  • ncurses_meta — Active/désactive les informations de méta clé 8-bits
  • ncurses_mouse_trafo — Transforme les coordonnées
  • ncurses_mouseinterval — Configure les délais entre les clics de souris
  • ncurses_mousemask — Configure les événements de souris à surveiller
  • ncurses_move_panel — Déplace un conteneur pour que son coin supérieur gauche soit aux coordonnées [startx, starty]
  • ncurses_move — Déplace la position d'affichage
  • ncurses_mvaddch — Déplace la position courante et ajoute un caractère
  • ncurses_mvaddchnstr — Déplace la position et ajoute la chaîne attribuée avec la taille donnée
  • ncurses_mvaddchstr — Déplace la position et ajoute une chaîne attribuée
  • ncurses_mvaddnstr — Déplace la position et ajoute une chaîne de taille donnée
  • ncurses_mvaddstr — Déplace la position et ajoute une chaîne
  • ncurses_mvcur — Déplace immédiatement le curseur
  • ncurses_mvdelch — Déplace la position et efface le caractère, puis décale le reste de la ligne à gauche
  • ncurses_mvgetch — Déplace la position et lit le caractère à la nouvelle position
  • ncurses_mvhline — Choisi une nouvelle position et dessine une ligne horizontale avec le caractère donné, et de taille maximale donnée
  • ncurses_mvinch — Déplace la position et lit le caractère à la nouvelle position
  • ncurses_mvvline — Modifie la position et dessine une ligne verticale avec le caractère donné, de taille maximale donnée
  • ncurses_mvwaddstr — Ajoute une chaîne à une nouvelle position dans la fenêtre
  • ncurses_napms — Fait une pause
  • ncurses_new_panel — Crée un nouveau conteneur et l'associe à une fenêtre
  • ncurses_newpad — Crée un nouveau pad (fenêtre)
  • ncurses_newwin — Crée une nouvelle fenêtre
  • ncurses_nl — Convertit les nouvelles lignes et retours chariot en sauts de ligne
  • ncurses_nocbreak — Passe le terminal en mode cooked
  • ncurses_noecho — Désactive l'écho clavier
  • ncurses_nonl — Ne convertit par les nouvelles lignes et retours chariot en sauts de ligne
  • ncurses_noqiflush — Ne vide pas les buffers sur réception des caractères de signaux
  • ncurses_noraw — Déconfigure le mode brut du terminal
  • ncurses_pair_content — Retourne la valeur RGB d'une couleur
  • ncurses_panel_above — Retourne le conteneur au-dessus du conteneur
  • ncurses_panel_below — Retourne le conteneur sous le conteneur
  • ncurses_panel_window — Retourne la fenêtre associée avec un conteneur
  • ncurses_pnoutrefresh — Copie une région depuis un pad dans un écran virtuel
  • ncurses_prefresh — Copie une région depuis un pad dans l'écran virtuel
  • ncurses_putp — Applique l'information d'espacement à la chaîne et l'affiche
  • ncurses_qiflush — Vide les buffers après détection d'un caractère de signal
  • ncurses_raw — Passe le terminal en mode brut (raw)
  • ncurses_refresh — Rafraîchit l'écran
  • ncurses_replace_panel — Remplace la fenêtre associée à un conteneur
  • ncurses_reset_prog_mode — Restaure le mode prog sauvé par def_prog_mode
  • ncurses_reset_shell_mode — Restaure le mode shell, mode sauvé par def_shell_mode
  • ncurses_resetty — Rétablit le terminal sauvé
  • ncurses_savetty — Sauve l'état du terminal
  • ncurses_scr_dump — Sauve un écran dans un fichier
  • ncurses_scr_init — Initialise un écran depuis un fichier de sauvegarde
  • ncurses_scr_restore — Rétablit un écran depuis un fichier de sauvegarde
  • ncurses_scr_set — Configure un écran depuis un fichier de sauvegarde
  • ncurses_scrl — Scrolle le contenu de la fenêtre vers le haut ou le bas, sans changer la position courante
  • ncurses_show_panel — Place un conteneur invisible en haut de la pile, pour le rendre visible
  • ncurses_slk_attr — Retourne l'attribut de la clé soft label courante
  • ncurses_slk_attroff — Désactive l'attribut donné pour les étiquettes des function-key (fonctions clés)
  • ncurses_slk_attron — Active l'attribut donné pour les étiquettes des function-key (fonctions clés)
  • ncurses_slk_attrset — Définit les attributs donnés à une étiquette function-key
  • ncurses_slk_clear — Efface les soft labels de l'écran
  • ncurses_slk_color — Configure la couleur des clés soft label
  • ncurses_slk_init — Initialise les fonctions de clés soft label
  • ncurses_slk_noutrefresh — Copie toutes les clés soft label à l'écran virtuel
  • ncurses_slk_refresh — Copie les clés soft label à l'écran
  • ncurses_slk_restore — Rétablit les clés soft label
  • ncurses_slk_set — Modifie les étiquettes de clé de fonction (function key labels)
  • ncurses_slk_touch — Force l'affichage lorsque ncurses_slk_noutrefresh est utilisé
  • ncurses_standend — Cesse l'utilisation de l'attribut 'standout'
  • ncurses_standout — Commence l'utilisation de l'attribut 'standout'
  • ncurses_start_color — Active les couleurs
  • ncurses_termattrs — Retourne toutes les options supportées par le terminal, combinées ensemble par l'opérateur OR
  • ncurses_termname — Retourne le nom court du terminal
  • ncurses_timeout — Configure le temps d'expiration des séquences clavier spéciales
  • ncurses_top_panel — Place un conteneur visible sur le haut de la pile
  • ncurses_typeahead — Spécifie un autre descripteur de fichier pour la vérification à la volée des données saisies
  • ncurses_ungetch — Replace un caractère dans la queue d'entrée
  • ncurses_ungetmouse — Ajoute un événement souris dans la queue
  • ncurses_update_panels — Rafraîchit l'écran virtuel pour prendre en compte les relations entre les conteneurs de la pile
  • ncurses_use_default_colors — Assigne la couleur de terminal pour l'index -1
  • ncurses_use_env — Contrôle l'utilisation des informations d'environnement concernant la taille du terminal
  • ncurses_use_extended_names — Contrôle l'utilisation des noms étendus dans les descriptions terminfo
  • ncurses_vidattr — Affiche la chaîne sur un terminal dans le mode d'attribut vidéo
  • ncurses_vline — Dessine une ligne verticale à la position courante en utilisant un caractère donné, pour une taille donnée
  • ncurses_waddch — Ajoute un caractère à la position courante, dans une fenêtre, et avance le curseur
  • ncurses_waddstr — Affiche le texte à la position courante dans la fenêtre
  • ncurses_wattroff — Désactive les attributs d'une fenêtre
  • ncurses_wattron — Efface les attributs de la fenêtre
  • ncurses_wattrset — Modifie les attributs d'une fenêtre
  • ncurses_wborder — Dessine le bord d'une fenêtre avec un caractère qualifié
  • ncurses_wclear — Efface la fenêtre
  • ncurses_wcolor_set — Modifie les paires de couleurs de la fenêtre
  • ncurses_werase — Efface le contenu de la fenêtre
  • ncurses_wgetch — Lit un caractère depuis le clavier (fenêtre)
  • ncurses_whline — Dessine une ligne horizontale à partir de la position courante, avec un caractère qualifié, et d'une taille maximale
  • ncurses_wmouse_trafo — Transforme les coordonnées d'une fenêtre
  • ncurses_wmove — Déplace la position d'affichage de la fenêtre
  • ncurses_wnoutrefresh — Copie la fenêtre dans l'écran virtuel
  • ncurses_wrefresh — Rafraîchit la fenêtre sur l'écran du terminal
  • ncurses_wstandend — Termine le mode standout de la fenêtre
  • ncurses_wstandout — Passe une fenêtre en mode standout
  • ncurses_wvline — Dessine une ligne verticale dans une fenêtre, à la position courante, en utilisant un caractère qualifié, avec une taille maximale