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

Linux Discussion :

Couleurs RGB et taille de police dans pseudo-terminaux.


Sujet :

Linux

  1. #1
    Membre expérimenté
    Avatar de Luke spywoker
    Homme Profil pro
    Etudiant informatique autodidacte
    Inscrit en
    Juin 2010
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Etudiant informatique autodidacte

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 077
    Points : 1 742
    Points
    1 742
    Par défaut Couleurs RGB et taille de police dans pseudo-terminaux.
    Salut les Linuxiens de DEV,

    Bon en faîtes je cherche a programmer en C les deux points suivants dans les pseudo terminaux:

    -Pouvoir écrire dans n'importe quelle couleur donnée sous forme RGB (Red, Green, Blue).
    -Pouvoir ajuster la taille des caractères a volonté.

    Je suis arriver a mes fins dans un terminal xterm grâce au code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
    #include <stdio.h>
    #include <stdlib.h>  
     
     
     
    int main(int argc, char *argv[]) {
      /** This example programm display an text in the color given as argument.
       *  In the xterm terminal.
       *  Usage:
       *  $ xterm 
       *  [xtrem]$ ./a.out red[0-255] green[0-255] blue[0-255]
       * **********************************************************************/
     
      if (argc != 4) {
        fprintf(stderr,"usage: %s red green blue\n",argv[0]) ;
        exit(EXIT_FAILURE) ;
      }
     
      char *red, *green, *blue ;
     
      red   = argv[1] ;
      green = argv[2] ;
      blue  = argv[3] ;
     
      fprintf(stdout,"\033[38;2;%s;%s;%sm",red,green,blue) ; /** Escape RGB fg color setting sequence. */
      /** For further informations sea:
       *  /usr/share/doc/xterm/ctlseqs.txt
       ***********************************/ 
      fprintf(stdout,"This text appears in the color of your choice !!!!\n") ;
      fprintf(stdout,"\033[0m]") ;
     
      exit(EXIT_SUCCESS) ;
    }
    Une fois compiler lancer l'exécutable dans un pseudo terminal xterm:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    [gnome-terminal]$ xterm
    [xterm]$ ./a.out 127 127 255
    Et vous verrez apparaître le message dans la couleur RGB donner en argument.

    Bon j'aimerai faire pareil avec un gnome-terminal seulement les séquences d'échappement ne sont pas les mêmes et je n'ai pas trouver de documentation a hacker pour trouver la séquence a utiliser.
    Aider moi a trouver la doc ou si vous connaissez la séquence, vous seriez trop sympa de me la donner.

    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Second points je n'ai pas réussis a rétrécir|agrandir la police du xterm.
    Par contre le gnome-terminal dispose d'une option zoom qui permet cela, reste a trouver comment faire ça en C.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [gnome-terminal]gnome-terminal --zoom=0.3
    Toute aide est la bienvenue et si vous ca vous dit vous pouvez vous plonger dans la documentation de xterm disponible à:
    /usr/share/doc/xterm/ctlseqs.txt.gz
    Je cherche surtout un document analogue a celui évoquer ci-dessus concernant le gnome-terminal cette fois.

    Merci pour votre aide et vos réponses ses éclairées.
    Pour faire tes armes:
    Use du présent pour construire ton futur sinon use de ce que tu as appris auparavant.
    Et sois toujours bien armé avant de te lancer.
    Le hasard ne sourit qu'aux gens préparés...
    Site: Website programmation international (www.open-source-projects.net)
    Site: Website imagerie 3D (www.3dreaming-imaging.net)
    Testez aux moins pendant une semaine l'éditeur avec terminaux intégrées it-edit Vous l'adopterai sûrement !
    FUN is HARD WORK !!!

  2. #2
    Expert éminent sénior Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 243
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour,

    pourquoi en c ? Pourquoi pas en bash (,sh,ksh,zsh,...) ?


    Pour la séquence d'échappement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [14:55:42 ~/dossier]$ echo $PS1
    \[\e[1;33m\][\t \w]$ \[\e[00m\]
    [14:57:02 ~/dossier]$ 
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

Discussions similaires

  1. Taille de police dans une feuille de données
    Par muphin dans le forum IHM
    Réponses: 3
    Dernier message: 08/09/2014, 16h58
  2. Changer la taille de police dans un tableau
    Par Steinz dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 2
    Dernier message: 31/05/2008, 13h32
  3. couleur de ligne et de police dans une table
    Par PAUL87 dans le forum WinDev
    Réponses: 4
    Dernier message: 17/03/2008, 15h42
  4. Taille de Police dans un GTKTreeView
    Par DaOurZ dans le forum GTK+ avec C & C++
    Réponses: 4
    Dernier message: 25/12/2006, 06h38
  5. [Kylix] Taille des police dans kylix
    Par merzhin dans le forum EDI
    Réponses: 2
    Dernier message: 04/09/2004, 21h18

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