[programmation] créer un widget

Xorg, Compiz, KDE / Gnome / Xfce / Fluxbox / e17 / fvwm ... GDM/KDM/XDM...
aleks
Daikyu
Messages : 78
Inscription : dim. 14 mars 2010, 13:19

[programmation] créer un widget

Message par aleks »

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 ?
nim65s
Daikyu
Messages : 53
Inscription : sam. 31 janv. 2009, 09:45
Localisation : Toulouse

Re: [programmation] créer un widget

Message par nim65s »

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
quolibetwidget = 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()
dans ton rc.lua
( sans oublier d'ajouter quolibetwidget dans la table "mywibox[s].widgets" )
et un script bash comme
#!/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
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 ^^

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 :non:
Image
Répondre