Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 05/08/2012, à 17:12

Ninored

Une création pour de la couleur dans les programes terminales

De la couleur

Bonjour, après avoir cherché sur internet comment mettre de la couleurs dans mes programmes console j'ai fini par créer un programme (Avec mon langage favori le c++ big_smile).
Il affiche les possibilité de couleur de la console linux.
Un screen des version disponible:
Couleur console 1.0
Plus grand
Couleur console 2.0
Plus grand
Ces versions son disponibles:
1.0: [url=http://[Merci de relire les règles]/P7BJo9]Ici[/url]
2.0: [url=http://[Merci de relire les règles]/OXl8zU]Ici[/url]
(Si il ne marche pas essayez de le rendre exécutable avec la commande "chmod 111")

Comment lire le tableau:

  1. La colonne de gauche montre le fond et type de texte.
        Le Fond est entre 40-47(Normal) 100-107(Brillant)
        Le type de texte est 1(Gras) 4(Sous-tiret ) 7(Inverser)

  2. Celle du haut montre la couleur du texte.
        La couleur est entre 30-37(Normal) 90-97(Brillant)

  3. Pour l'utiliser dans du C++ ou C:
        Pour l'incorporer rien de plus simple un:
             std::cout << "\033[XX;XX;XXm";
            ou
             printf("\033[XX;XX;XXm");
        Et aussi avec des variables:
            std::cout << "\033[" << XX << ";" << XX << ";" << XX "m";
           ou
            printf("\033[%s;%s;%sm", XX, XX, XX);
        XX correspond a votre choix les choix peuvent se combiner mais se séparent avec le ";"
        Vous pouvez mettre autant de paramètre possible mais cohérent.  (pas deux fond quoi ^^)
        On peut aussi mettre seulement un Paramètre.

Pour remettre le console à sa couleur d'origine c'est "00" :
    "\033[00m"
Pour effacer tout le console:
    "\033[H\033[2J"
Pour retrouver les séquences d'échappement :
    "ESC = \033"
    http://manpagesfr.free.fr/man/man4/console_codes.4.html

Source:
http://linux-sxs.org/housekeeping/lscolors.html
http://www.siteduzero.com/tutoriel-3-35 … linux.html

J'aurais besoin d'aide pour rendre ce programme comme commande linux avec des paramètres comme "-b" pour afficher les background.

Dernière modification par Ninored (Le 09/08/2012, à 15:43)

Hors ligne

#2 Le 05/08/2012, à 17:39

ludovic889

Re : Une création pour de la couleur dans les programes terminales

bnjour

c'est marrant mais depuis vendredi je m'intéresse aux mêmes questions mais plutôt en python

mais je ne comprends ce que vous voulez faire : colorer les sorties de vos scripts bash ??
si c'est ça, pourquoi coder en c/c++ ??
car pour cela, il suffit de faire un

echo -e '<votre_séquence_d'échappement_issue_du_pense-bête>blabla<retour_à_la_normale>'

mais pas très pratique tout ça !

Pour coloriser vos scripts en bash plus facilement, on peut au choix

  • utiliser le script color (voir ici)

  • utiliser des variables prédéfinies dans son bashrc (comme suggéré ici) et écrire des commandes du type echo -e "${txtblu}test"

  • et certainement plein d'autres méthodes

en tout cas, ce sont des pistes à creuser

Modification
j'allais oublier : sympa votre pense-bête !

Dernière modification par ludovic889 (Le 05/08/2012, à 17:50)


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#3 Le 05/08/2012, à 17:57

Ninored

Re : Une création pour de la couleur dans les programes terminales

Pourquoi coder en c/c++ ( Le programme est entièrement c++) tout simplement par ce que c'est le langage que je connais le mieux.
Je ne veut pas colorer mes sortit bash je sais le faire je mais juste mon programme a disposition des autres pour les aider a le faire.
Comme sa pas besoin de cherché trois plombe juste on voie le résulta direct on choisie la couleur et le tour est jouer.

Et je voudrais rendre ce programme comme commande linux pour qu'il soit accessible a tout moment sans avoir a télécharger le script

Dernière modification par Ninored (Le 05/08/2012, à 18:00)

Hors ligne

#4 Le 05/08/2012, à 18:14

ludovic889

Re : Une création pour de la couleur dans les programes terminales

ah pardon, j'avais pas bien compris !
en fait, tu veux juste imprimer ton pense-bête !
d'accord !!

concernant ton script, il faut faire attention à un truc : tout le monde n'a pas la même largueur de console que toi et du coup, ton joli tableau est tout décalé !!!
je ne sais pas comment régler ça

sinon, tu peux encore plus t'amuser avec 256 couleurs tongue


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#5 Le 07/08/2012, à 14:47

Ninored

Re : Une création pour de la couleur dans les programes terminales

^^ 256 couleur oui je peut m'amuser mais en fait la je propose mon programme pour vous.
Et pour la taille d'ecran oui c'est un problème, je pense faire différente version pour ça.
Mais sait tu comment rendre un programme comme commande?

Hors ligne

#6 Le 07/08/2012, à 15:56

ludovic889

Re : Une création pour de la couleur dans les programes terminales

bonjour

excuse-moi Ninored, je ne comprends pas ce que tu veux dire par "rendre un programme comme commande" !!!
sous linux, tout exécutable est une commande...

peut-être souhaites-tu ajouter des options pour appeler ton programme, comme

color2 --background

ou

color2 -v

ou

color2 --help

si c'est ça, regarde par là (en anglais ça s'appelle le argument parsing : tu auras plus de choses)

en espérant t'avoir un peu aidé


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#7 Le 08/08/2012, à 18:23

Ninored

Re : Une création pour de la couleur dans les programes terminales

C'est ce que je cherchais. mais j'aimerais aussi le rendre exécutable de n'importe où comme la commande "ls" et en faire un paquet .deb ou installable depuis l'application d'ubuntu.

Hors ligne

#8 Le 08/08/2012, à 18:49

ludovic889

Re : Une création pour de la couleur dans les programes terminales

le rendre exécutable de n'importe où

il faut mettre ton exécutable dans ton PATH, en ligne de commande tu fais

echo $PATH

et tu copies (avec les bons droits) ton bidule dans un des répertoires mentionnés
tu pourras aussi te documenter (demande "linux path" à ton ami ggogle)

pour le reste, sais pas faire


Ce n'est pas grave de ne pas avoir l'heure si on a le temps.

Hors ligne

#9 Le 09/08/2012, à 15:52

Ninored

Re : Une création pour de la couleur dans les programes terminales

la solution du $PATH en est une mais je veut le rendre publique sa peut poser problème les personne devrons eux aussi modifier leurs $PATH.
J'ai vue qu'il y avait un endroit on met l’exécutable (je crois que c'est /usr/bin ) et on pouvais lancer l'executable n'importe où.

Hors ligne

#10 Le 09/08/2012, à 16:55

Bousky

Re : Une création pour de la couleur dans les programes terminales

Les commandes personnalisées vont dans /usr/local/bin (accessible à tous les utilisaturs) ou dans ~/bin (accessible uniquement à son propriétaire, le dossier est automatiquement ajouté au PATH s'il existe).


Linux qui plante complètement ? Plus rien ne répond ? On peut toujours le redémarrer proprement :
Alt + SysRq + REISUB (Retourne En Islande Sur Un Bateau !)

Hors ligne

#11 Le 14/08/2012, à 01:40

Ninored

Re : Une création pour de la couleur dans les programes terminales

Merci pour les PATH's mais comment en faire un paquet .deb accessible depuis"apt-get install"(et aussi faire un man) ?

Hors ligne