J'ai mis prog. dans le titre pour savoir de quoi je veux parler tout de suite.
Etant sous awesome, j'utilise Quodlibet comme lecteur audio (mpd ne me servirait à rien). Bref, dans mon rc.lua, j'aimerais créer un widget qui m'afficherait la chanson dans la barre du haut, sachant que Quodlibet donne les infos de la piste courante dans un dossier current.
Des pistes, des idées ?
[programmation] créer un widget
Re: [programmation] créer un widget
La première solution est d'apprendre le lua...
La seconde, celle que j'utilise par pure flemme ( mais je changerai un jour, inch'allah ) est de créer simplement un widget texte vide et de lui envoyer le texte à coups de bash.
( j'en parle parce que j'imagine que tu maîtrises plus le bash que le lua : si c'est le cas, cette méthode te permettra de faire à peu près tout ce que tu veux, même si c'est vraiment moche. Si c'est pas le cas, c'est inutile en plus d'être moche. )
dans ton cas, ça donnerait un truc comme
( sans oublier d'ajouter quolibetwidget dans la table "mywibox[s].widgets" )
et un script bash comme
Bon, j'aime pas trop cette méthode, mais pour ma défense, j'ai un concours dans un mois, je peux pas me lancer dans l'apprentissage d'un langage maintenant
La seconde, celle que j'utilise par pure flemme ( mais je changerai un jour, inch'allah ) est de créer simplement un widget texte vide et de lui envoyer le texte à coups de bash.
( j'en parle parce que j'imagine que tu maîtrises plus le bash que le lua : si c'est le cas, cette méthode te permettra de faire à peu près tout ce que tu veux, même si c'est vraiment moche. Si c'est pas le cas, c'est inutile en plus d'être moche. )
dans ton cas, ça donnerait un truc comme
dans ton rc.luaquolibetwidget = widget({ type = "textbox" })
mytimer = timer({ timeout = l'intervalle de mise à jour, en secondes })
mytimer:add_signal("timeout", function() awful.util.spawn_with_shell("le/chemin/vers/ton/script/bash",1) end)
mytimer:start()
( sans oublier d'ajouter quolibetwidget dans la table "mywibox[s].widgets" )
et un script bash comme
NB : tu peux aussi virer ce timer et exécuter le script avec cron on Kalarm, mais là ton script ne se lance que quand t'es sous awesome, ce qui est pratique si tu utilises plusieurs WM ^^#!/bin/bash
TEXTE=$(je sais pas exactement comment ton dossier est fait, donc je te laisse te débrouiller ici ^^)
echo "quolibetwidget.text = \"$TEXTE\"" | awesome-client"
exit 0
Bon, j'aime pas trop cette méthode, mais pour ma défense, j'ai un concours dans un mois, je peux pas me lancer dans l'apprentissage d'un langage maintenant

