C'est là que "Bash simple curses" peut vous aider. L'auteur (moi même) cherchait à la base à se faire une petite barre pour Xmonad, c'est devenu une bibliothèque sympathique qui permet de faire des choses assez sympathiques. Voyez les deux captures dans la page d'accueil du projet et surtout comme le code est petit pour réaliser ce genre de sortie de terminal. À la base ce n'était que pour réaliser une petite barre de monitoring. Puis en quelques minutes les fonctions ont été créées et en à peine 30 minutes ça fonctionnait. Et comme le monde du libre est plein de bonnes âmes, le code est fourni depuis ce matin. Cette bibliothèque permet simplement de créer des fenêtre à la ncurses, c'est à dire basées sur des caractères graphiques. Si en plus votre terminal ne supporte pas très bien les caractères spéciaux, cette bibliothèque propose de fonctionner aussi avec des caractères ASCII standards. Il suffit d'exporter la variable ASCIIMODE à « ascii ».
Le projet propose une petite documentation, un didacticiel simple et deux exemples qui permettent de se rendre compte de ce que l'on peut faire. Pour le moment, pas de release mais un accès au dépôt subversion. Si vous êtes fana du terminal et que vous avez envies de réaliser quelques rapport en mode texte qui ont « de la gueule », vous pouvez certainement vous pencher sur ce projet
Aller plus loin
- Bash simple curses (1213 clics)
- Interprète Bash (366 clics)
- Bibliothèque ncurses (480 clics)
# bonne idée, mais la portabilité ?
Posté par Bapt (site web personnel) . Évalué à 10.
"/dev/shm/deskbar.buffer"$RANDOM par hop en 3s le script devient linux-only, par exemple.
# Bravo
Posté par Michaël Aubertin . Évalué à 5.
[^] # Re: Bravo
Posté par Marc Quinton . Évalué à 2.
Question, tu ne te bases pas sur ncurses pour la gestion des fenêtres ?
[^] # Re: Bravo
Posté par knarf2 . Évalué à 5.
À ce propos, comme dit un peu plus haut, encore un peu plus de portabilité serait chouette :
* /bin/sh
* pas de /dev/shm (il doit bien exister une alternative portable)
Aussi, pour le dessin de lignes, tu utilises directement les échappements. Pourquoi ne pas utiliser tput comme pour le reste ? Si le terminal ne gère pas les lignes tput met déjà des caractères ascii il me semble.
--
[1] http://en.wikipedia.org/wiki/Tput
[2] http://en.wikipedia.org/wiki/Terminfo / http://en.wikipedia.org/wiki/Termcap
# todo
Posté par santos . Évalué à 2.
# Bravo ++
Posté par raum_schiff . Évalué à 3.
C'est prometteur et me semble très facile à lire/ecrire.
Bonne continuation ( zones saisie, menus .... etc ?? !! ).
[^] # Re: Bravo ++
Posté par Dup (site web personnel) . Évalué à 4.
En tous cas bravo
# Bravo
Posté par DLFP est mort . Évalué à 3.
Et visiblement tu n'affiche le contenu uniquement après le calcul (comme Conky le fait avec l'option "double buffering") ce qui fait que le rafraîchissement n'est pas désagréable (pas de clignotement visible). Au début j'ai cru que non, mais c'est parce qu'il y avait un problème avec le script d'exemple (ifconfig n'est pas dans le $PATH des simples utilisateurs dans Gentoo).
DLFP >> PCInpact > Numerama >> LinuxFr.org
[^] # Re: Bravo
Posté par NickNolte . Évalué à 2.
Le double tampon n'y change rien.
Sous Awesome, pareille, la "barre de tâche" est toujours parasitée dés lors qu'il y a du texte qui se rafraîchit. (un moniteur de cpu, etc...)
Qu'est-ce qui fait que ça soit si crade d'avoir un rendu de texte dynamique?
# Petit essai
Posté par oao . Évalué à 6.
Il y a un wiki, j'essai. Peit problème, google code me demande un mot de passe. Au troisième essai je me rends compte qu'on se connecte par svn via https. Un s en moins et ça roule.
Premier test: affichage du contenu du home... OK, RAS. Plus essai date/heure. date marche bien, par contre on perd la mise en page de cal. Ce qui fais un truc moche. Dommage. La limite taille n'aide pas.
Pas grave, on va mettre le ls $HOME en forme. man ls => ls --color -1 me semble bien. Mais -1 ne marche pas.
Ca me fais quand même une mise en forme géniale celà dis.
Résumé: c'est vraiment cool, il manque juste une meilleure fidélité pour la mise forme des commandes. Un système de blocs pour la mise en forme serais sympa aussi, à l'image des <div>...</div> en html. Par exemple bashbar est trop haut pour mon petit 1024*768, jai voulu mettre comme celà:
HOSTNAME | MEMORY | Inet interfaces
Processus taking memory and CPU
Last kernel messages
Mais je n'ai pas réussi.
J'ai ouvert les bugs correspondant. Hop inauguration du bugtracker!
Bon courage :)
[^] # Re: Petit essai
Posté par FRLinux (site web personnel) . Évalué à 1.
Il ne te reste plus qu'à contribuer du code :)
[^] # Re: Petit essai
Posté par Patrice FERLET (site web personnel) . Évalué à 1.
# zsh
Posté par Octabrain . Évalué à 1.
De plus, du point de vue licence, ta lib sous BSD conviendrait mieux à zsh (sous BSD également) qu'à bash (GPL)
[^] # Re: zsh
Posté par Sytoka Modon (site web personnel) . Évalué à 7.
[^] # Re: zsh
Posté par NickNolte . Évalué à 2.
[^] # Re: zsh
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
[^] # Re: zsh
Posté par Octabrain . Évalué à 2.
[^] # Re: zsh
Posté par Patrice FERLET (site web personnel) . Évalué à -3.
[^] # ROFLMAO
Posté par Octabrain . Évalué à 1.
# Pratique pour les VMs !
Posté par Geoffrey Gouez (site web personnel) . Évalué à 2.
Du coup, je vais piquer ta lib ;)
[^] # Re: Pratique pour les VMs !
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
[^] # Re: Pratique pour les VMs !
Posté par Geoffrey Gouez (site web personnel) . Évalué à 3.
http://linuxfr.org/forums/47/27344.html
[^] # Re: Pratique pour les VMs !
Posté par Sytoka Modon (site web personnel) . Évalué à 2.
J'ai mis un p'tit commentaire sur le script dans la page.
[^] # Re: Pratique pour les VMs !
Posté par Patrice FERLET (site web personnel) . Évalué à 1.
# Merci à tous
Posté par Patrice FERLET (site web personnel) . Évalué à 2.
En ce qui concerne la portabilité, je suis en train de voir un peu les différentes solutions. Laurent Bachelier m'a donné un patch que j'ai appliqué qui permet justement de faire attention de ne pas utiliser SHM si il n'est pas disponible. De plus, on est passé à mktemp pour la génération de buffer.
En ce qui concerne tput, je n'ai pas encore tout intégré les options possibles de cette superbe commande. Je cherche encore à modifier le comportement du curseur.
Attention, Conky est bien plus poussé et je ne suis pas là pour concurrencer Conky. Mon projet est surtout de faire en sorte que vous puissiez générer un rapport après certaines commandes dans un terminal et ce de manière plus sympa qu'un simple log.
En tout cas vos commentaires me font très plaisirs et il ne faut pas hésiter à le critiquer. Je suis prêt à faire un maximum de choses pour que vous soyez satisfaits de cette librairie.
Un dernier point, je ne pense pas faire en sorte de pouvoir mettre des entrée de texte, menu ou des choses de ce genre. Ce pour différentes raisons:
* il existe "dialog" pour ça
* la manière dont est géré le buffer ne me le permet pas facilement
* est-ce bien raisonnable ?
Je pense tout de même développer un pseudo menu, comme un menu de site avec des liens...
Voilà, sachez enfin qu'une version alpha est en téléchargement depuis hier. A vous les studios !
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.