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 10/01/2012, à 11:20

lemonstrike

[résolu] Creer une interface graphique dans le terminal

Bonjour à tous,

Tout d'abord, j'espère que c'est la bonne section !

En fait, ça fait quelques temps que je suis amené à utiliser un terminal/console pour mes études (informatique) et je me demandais comment ça se passait pour modifier dynamiquement le contenu du terminal.
L'exemple le plus simple auquel je pense actuellement est un "sudo apt-get install " où la vitesse du téléchargement ainsi que sa progression sont mis à jour automatiquement sans passer par un "clean".
Un autre exemple, mais ça semble un peu plus poussé, c'est toutes les interfaces graphiques made in terminal qui ressemblent un peu aux programmes DOS (pour ceux qui ont déjà utilisé) avec des graphismes.

Un autre exemple : je viens d'installer lamp-server à l'aide de tasksel; ce dernier affiche ça durant l'install :

tasksel

J'admets qu'il y a une (grande?) différence entre les graphismes d'un "sudo apt-get install " et celui d'un tasksel (cf image) mais est-ce vraiment si différent ? Est c'est la même librairie, même commande shell ? Est ce que je me plante, et les deux fonctionnent de manière totalement différente ?

J'ai cherché (google) mais je n'ai pas trouvé d'articles qui abordaient la question.

Pour ma part, je code principalement en C, et j'aimerais pouvoir intégrer ce genre d'interface graphique dans mes programmes; c'est à dire une interface qui reste simple (pas besoin de fenêtres).

Avez-vous des infos ?


En vous remerciant d'avance,
Lemon

Dernière modification par lemonstrike (Le 10/01/2012, à 12:08)

Hors ligne

#2 Le 10/01/2012, à 11:33

compte supprimé

Re : [résolu] Creer une interface graphique dans le terminal

Ce sont juste des caractères ascii étendus (>178) : http://table-ascii.com/

#3 Le 10/01/2012, à 11:38

lemonstrike

Re : [résolu] Creer une interface graphique dans le terminal

Salut, merci pour ta réponse !

J'ai trouvé le lien avec la commande écho (paramètre -n pour ne pas faire de retour ligne, et paramètre -e pour faire fonctionner le retour ligne "\r").
L'interface graphique du tasksel est donc un couplage de la commande echo et de caractères ASCII ?

Hors ligne

#4 Le 10/01/2012, à 11:54

sonn2

Re : [résolu] Creer une interface graphique dans le terminal

je t'invite à lire la discussion que j'avais lancer hier smile
tu trouveras ce que tu cherche tongue
et pense à mettre resolu si ton sujet l'est wink
lien

#5 Le 10/01/2012, à 11:57

compte supprimé

Re : [résolu] Creer une interface graphique dans le terminal

Oui, je pense. C'est en tous cas comme ça qu'on faisait sous dos... C'est en plus facile à faire parce que chaque caractère occupe le même espace (on ne prend pas des polices proportionnelles). On mesure d'ailleurs les dimensions de la console en colonnes et en lignes. Les polices "système" indiquées par leur taille en dpi sont de telles polices (il me semble)...
En revanche, il faut trouver la police ascii standard. Parce que les variantes ansi n'ont pas ces caractères qui permettent de faire de très jolies bordures, mais des caractères accentués...

#6 Le 10/01/2012, à 12:09

lemonstrike

Re : [résolu] Creer une interface graphique dans le terminal

Merci à vous, je vais creuser la question du echo, et me renseigner sur le ncurses qui semble gérer le tout.
Bonne journée à vous !

Résolu.

Hors ligne

#7 Le 10/01/2012, à 14:27

serged

Re : [résolu] Creer une interface graphique dans le terminal

Sinon, en tout fait, il y a la commande dialog....


LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)

Hors ligne