IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

gestion de l'écran sous linux


Sujet :

C

  1. #1
    HRS
    HRS est déconnecté
    Membre chevronné
    Avatar de HRS
    Inscrit en
    Mars 2002
    Messages
    678
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 678
    Par défaut gestion de l'écran sous linux
    les séquences escape permettent d'assurer certaines fonctions comme

    -effacer l'écran
    -positionner le curseur
    -mettre le texte et le fond en couleur

    mais comment sauvegarder l'écran et le restaurer ?

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    en utilisant des outils particulier du shell:
    les redirections, cat, tail
    l'historique de commande, aussi.

    Mais ce n'est pas un problème du C

  3. #3
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    avec un peu de chance (...) tu as 2 variables d'environnement LINES et COLUMNS que tu peux récupérer dans ton code C, une façon de faire pourrait donc être de maintenir un tableau de LINES*COLUMNS éléments contenant les caractères et leurs attributs, en clair tu n'affiches plus directement sur l'écran, tu mets dans ton tableau d'abord, comme ça c'est "sauvegardé"

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Le souci étant que dans les sessions graphiques, les consoles sont redimensionnables.

  5. #5
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    à un débutant je préfère conseiller des choses faciles, en l'occurrence tu as raison LINES et COLUMNS ne sont pas vraiment fiables, mais je préférais lui parler de ça plutôt que de l'embrouiller avec termios ou l'envoyer implicitement jouer du system("tail") disons

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 284
    Par défaut
    Regardes peut-être du coté de la bibliothèque ncurses
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    En fait, la question que je me pose, c'est pourquoi vouloir rafficher un écran?

  8. #8
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 551
    Par défaut
    Bonjour
    Citation Envoyé par HRS Voir le message
    les séquences escape permettent d'assurer certaines fonctions comme

    -effacer l'écran
    -positionner le curseur
    -mettre le texte et le fond en couleur

    mais comment sauvegarder l'écran et le restaurer ?
    Les séquences d'échappement dans le cas de LINUX sont utilisées par le pilote d'écrans pour effectuer certaines actions comme par exemple l'insertion ou l'effacement de texte sur la console qui ont réalité, est rien d'autre qu'un déplacement d'une série de caractères ou bloc de caractères dans la mémoire graphique (sauf erreur de ma part). Donc, s'il vous faut sauvegarder ou restaurer les paramètres d'affichage il faut utiliser la structure essentielle présente dans les terminaux qui est struct tty_struct.

    Cette structure existe dans chacun des terminaux et s'est-elle qui traite toutes les données en entrer (contient toutes le caractère saisi non lu par un programme, toutes les requêtes de lecture de caractère, les caractères d'effacement , d'interruption, d'arrêt et de relance d'affichage, effacement annulation, position actuelle etc.) et sortie (toutes les requêtes, paramètre d'écriture non terminer, information des séquences d'échappement en cours de traitement, le mode du terminal actuel etc.) .

    Citation Envoyé par BufferBob Voir le message
    à un débutant je préfère conseiller des choses faciles, en l'occurrence tu as raison LINES et COLUMNS ne sont pas vraiment fiables, mais je préférais lui parler de ça plutôt que de l'embrouiller avec termios ou l'envoyer implicitement jouer du system("tail") disons
    Oui d'autant plus que termios est utilisé pour définir une voie de communication d'un terminal ce qui est différent du traitement d'affichage ou de séquence d'échappement

    Citation Envoyé par leternel Voir le message
    En fait, la question que je me pose, c'est pourquoi vouloir rafficher un écran?
    Très bonne question, cependant il a peut-être ces raisons. Mais s'il s'agit juste de rafraichir ou traiter de façon indépendante son affichage ou séquence perso , pourquoi ne pas opter pour la solution de @chrtophe utiliser la bibliothèque ncurses ou X-Windows ( bonne chance )

    à bientôt

  9. #9
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 284
    Par défaut
    X-Window c'est une bibliothèque purement graphique (pour les applications non console en fenêtre), ncurses c'est la bibliothèque qui est en général utilisé dans les menus d'installation ou paramétrage depuis le terminal. Pour la gestion des séquence d'échappement saisies au clavier, tu peux aussi regarder du coté de readline.

    Le souci étant que dans les sessions graphiques, les consoles sont redimensionnables.
    Je sais pas comment ncurses gère ça,; je pense qu'il utilise une fenêtre (dans le sens nbre de lignes et colonnes) définie au lancement de l'application l'utilisant.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  10. #10
    Membre très actif
    Avatar de sambia39
    Homme Profil pro
    No Comment
    Inscrit en
    Mai 2010
    Messages
    551
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : No Comment
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Mai 2010
    Messages : 551
    Par défaut
    Bonjour
    C'est vrai en ce qui concerne X -Windows mais rien n'empêche de créer une fenêtre graphique dans lequel on a une console virtuelle et faire ce dont on a besoin un peu comme xterm un émulateur de terminal proposant une fenêtre réagissant comme un terminal. J'admets que le plus simple reste ncurse.

    Cependant on ne sait pas vraiment pourquoi compte t'il rafraichit son écran ou restaurer les paramètres par défaut, surtout qu'elle est l'utilité on émet certes des hypothèses et des suggestions mais, on ne sait pas grand-chose. Sans précisions de ça part en va pas pouvoir vraiment l'aider.
    Bonne remarque pour X-Windows.
    à bientôt

Discussions similaires

  1. logiciel de gestion des ACL windows sous linux
    Par tatuxp dans le forum Administration système
    Réponses: 1
    Dernier message: 20/12/2011, 10h43
  2. Réponses: 1
    Dernier message: 19/04/2010, 14h18
  3. Gestion des fichiers users sous linux
    Par darkvodka dans le forum C++
    Réponses: 2
    Dernier message: 29/09/2007, 19h04
  4. gestion de cybercafé sous linux
    Par mawusse dans le forum Applications et environnements graphiques
    Réponses: 1
    Dernier message: 03/07/2007, 11h17
  5. gestion fichiers sous linux
    Par felix14 dans le forum Langage
    Réponses: 3
    Dernier message: 14/09/2006, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo