Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Applet externe en bash avec interface DBus
The latest stable release is the *3.4.0* : How to install it here.
Note: We just switched from BZR to Git on Github! (only to host the code and your future pull requests)
Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Applet externe en bash avec interface DBus
Page : 1 2 3 4
nochka85 Français 72 nochka85 [Read]
10 September 2009 à 15:47

matttbe, Friday 04 September 2009 à 12:52


Subscription date : 24 January 2009
Messages : 12573
@ Nochka : pourquoi ne pas mettre ce tuto sur le wiki (sans p-ê publier le lien si tu penses que ce n'est pas encore tout à fait ok) et placer ton fichier soit sur bzr ou sur le ftp du site (pour garder une adresse constante)

nochka85, Friday 04 September 2009 à 13:20


Subscription date : 29 November 2007
Messages : 7408
pourquoi ne pas mettre ce tuto sur le wiki


J'y pensais en fait ... mais j'attends d'avoir quelques retours ... et 2 répertoires de lancement auto (1 dans /usr/share/cairo-dock/plugins/ + 1 dans ~/.config/cairo-dock/ ou ~/.config/cairo-dock/extras ) qui scannent les sous répertoires (ceux des applets) à la recherche des .py

... j'attends ces répertoires car suivant la méthode qui sera utilisée, il faudra peut être faire quelques modifs (notamment pour la gestion de l'état de l'applet au lancement du dock -> coché ou pas coché ).

sans p-ê publier le lien si tu penses que ce n'est pas encore tout à fait ok) et placer ton fichier soit sur bzr ou sur le ftp du site (pour garder une adresse constante)


Bah au retour et aux dossiers prêts, l'applet est terminée et (je pense) largement suffisante et claire pour une applet de démo ( <- on a déjà dépassé le cap du 'Hello World' ! :mrgreen:) ... Bref, dès que c'est bon pour ces 2 choses, je colle tout çà dans le wiki AVEC un tar.gz .
Ok pour mettre sur le ftp (ou sur bzr ... mais je sais pas comment on fait <- tu m'explique ) ... mais en fait, si tout est ok et si Fab est d'accord, je pense que les 2 démos devraient être automatiquement installées dans /usr/share/cairo-dock/plugins/external_plugins_demos/ (et on pourrait créer le répertoire /usr/share/cairo-dock/plugins/external_plugins à coté pour les applets externes intégrées au dock ) ! Bref, je pense qu'on devrait carrément les intégrer dans les .deb afin que TOUS les utilisateurs du dock aient à leur disposition ces 2 démos (vu qu'il n'y a pas besoin des sources pour développer, je pense qu'il ne faut pas s'en priver) ! Donc, cela ferait enlever les démos de l'applet Dbus et créer un "faux" plugins "external_plugins_demos" dans lequel on collerait les répertoires des démos (python et bash) ... Non ?

EDIT:
Tiens, d'ailleurs, je viens de voir un soucis suivant la manière dont on lançait le .py : 'cd demo && python demo_bash.py' , 'python demo/demo_bash.py' ou 'cd demo && ./demo_bash.py' -> corrigé en rev 1280 <- toutes les méthodes fonctionnent désormais

fabounet, Friday 04 September 2009 à 14:11


Subscription date : 30 November 2007
Messages : 17118
et je viens de tenter mon 1er commit sur BZR (rev 1279) -> J'espère que j'ai rien cassé !

justement si
tu as effacé le répertoire demo dans lequel j'avais des modifs, et bzr me boude depuis (donc pas pu commiter mos modif DBus hier)
ce qui me conforte dans l'idée d'avoir une branche par développeur, dans lesquelles je peux puiser les modifs (en cas de changements mineur bien sûr on peut "pusher" direct sur la branche principale)

vais voir comment réparer ma branche (bzr revert ou un truc comme ça)
svn était un peu moins contraignant il me semble.

nochka85, Friday 04 September 2009 à 14:24


Subscription date : 29 November 2007
Messages : 7408
justement si
tu as effacé le répertoire demo dans lequel j'avais des modifs, et bzr me boude depuis (donc pas pu commiter mos modif DBus hier)


OUPS ! ... désolé

... surtout que je viens de refaire un commit

.... mais je comprends pas trop -> Tu as bien TON répertoire demo chez toi avec TES modifs ?? Non ? ... surtout que j'ai bien fait un bzr up et bzr pull avant pour être sûr de passer mes modifs sur la dernière branche

ce qui me conforte dans l'idée d'avoir une branche par développeur


Yep, mais j'ai essayé ... et franchement ... j'ai rien compris ! (<- J'ai juste mon ppa perso + une branche perso (je l'ai effacée depuis) ... mais impossible de pusher quoique ce soit dessus )

fabounet, Friday 04 September 2009 à 14:31


Subscription date : 30 November 2007
Messages : 17118
faut lui préciser : bzr push lp:~blablabla
oui tu avais mis à jour avant mais le fait d'avoir effacé le répertoire dans lequel j'avais des modifs non commités lui a fait perdre la boule.
par trop grave, je vais tenter de revert.
au fait j'aurais qques modifs mineures à faire dans ton script, si tu n'en n'as pas en cours je le ferai ce WE

matttbe, Friday 04 September 2009 à 14:34


Subscription date : 24 January 2009
Messages : 12573
bzr revert pour revenir en arrière... ou bzr merge...

svn était un peu moins contraignant il me semble.
Si quelqu'un effaçait un répertoire, c'était pareil
Mais de toutes manières, effacer un dossier est tjs à éviter

fabounet, Friday 04 September 2009 à 14:37


Subscription date : 30 November 2007
Messages : 17118
bzr merge m'envoie chier

avec SVN tu pouvais toujours effacer des fichiers puis faire svn up, et tout rentrait dans l'ordre
tu pouvais ensuite écraser avec tes modifs que tu avais au préalable mis de côté.
ici la méthode ne marche pas, on dirait qu'il se souvient.

matttbe, Friday 04 September 2009 à 14:44


Subscription date : 24 January 2009
Messages : 12573
Bzr pull ne marche pas ?

Sinon tu sais tjs télécharger la branche à une révision précise. Regarde avec bzr-gtk ou 'bzr help commands'

nochka85, Friday 04 September 2009 à 15:22


Subscription date : 29 November 2007
Messages : 7408
Bon bah j'arrête de commiter moi <- Je vais faire des applets en bash : c'est moins risqué !

fabounet, Friday 04 September 2009 à 17:59


Subscription date : 30 November 2007
Messages : 17118
lol mais non ! c'est ça la force de bzr (ou git ou hg), c'est de pouvoir développer sur des branches parallèles
bzr-gtk c'est une bonne idée merci, pour un noob comme moi c'est sûrement ce qu'il me faut

nochka85, Friday 04 September 2009 à 23:24


Subscription date : 29 November 2007
Messages : 7408
Et concernant les 2 répertoires de lancement d'applets externes ? ... (parce que j'ai une petite applet en bash qui va bientôt être prête moi ... mais chuuuut ! )

nochka85, Sunday 06 September 2009 à 02:16


Subscription date : 29 November 2007
Messages : 7408
Voilà, ma première petite applet en bash est quasi fini ! ... et voici un petit aperçu de cette dernière en action :

http://uppix.net/6/2/e/88718cb679e09d0c8047cdee5c407.png


matttbe, Sunday 06 September 2009 à 02:46


Subscription date : 24 January 2009
Messages : 12573
Rooh, qui t'as donné l'idée d'une applet RSS ?

Par contre, je ne le vois pas sur ta branche bzr perso

fabounet, Sunday 06 September 2009 à 03:57


Subscription date : 30 November 2007
Messages : 17118
très bon !
tu me forces la main donc, je vais réfléchir à comment intégrer ça la semaine prochaine.

Edit : de mon côté j'ai amélioré demo.py, maintenant elle fait des trucs "utiles".
ça reste une démo bien sûr

taiebot65, Sunday 06 September 2009 à 10:36


Subscription date : 26 October 2008
Messages : 1904
Waouh la classe ...

C'est tout en bash?

nochka85, Sunday 06 September 2009 à 11:07


Subscription date : 29 November 2007
Messages : 7408
très bon !
tu me forces la main donc, je vais réfléchir à comment intégrer ça la semaine prochaine.

C'était un peu le but

C'est tout em bash?


Pour l'instant oui -> Je n'ai toucher qu'au script .sh ...

Mais l'applet est super simple : seulement 4 flux RSS peuvent être enregistrés, et ils sont affectés à chaque notification :
- 1er flux sur le clic gauche
- 2ème flux sur le clic milieu
- 3ème flux sur la mollette haut
- 4ème flux sur la molette bas

Mais je vais essayé de faire un truc avec plus de flux et avec un autre fonctionnement -> molette pour passer d'un flux à l'autre + clic gauche pour afficher les infos du flux + clic milieu pour afficher le nom du flux en cours ... mais pour l'instant, j'ai un peu de mal, car vu que le script en bash ne fait que "lancer une action"+"exit" , je ne sais jamais où je suis dans la liste (car mes variables se réinitialisent à chaque action ... à cause du 'exit') ... et j'ai essayé de stocker l'info dans un fichier dans /tmp mais çà "prend trop de temps" et la molette n'est plus réactive

Bref, si quelqu'un a une idée sur "Comment conserver la valeur d'une variable en bash même quand le programme est quitté", je suis preneur

nochka85, Sunday 06 September 2009 à 14:29


Subscription date : 29 November 2007
Messages : 7408
Bon, je sais pas ce que j'avais foutu, mais j'ai finalement réussi à faire un truc "réactif" avec l'autre fonctionnement en me servant d'un fichier temporaire pour stocker le flux en cours !

... bref, je revois mon code (et je vais ajouter une petite fonction) et je vous poste çà ici pour test

EDIT:

Question importante : 10 flux RSS çà suffira ou pas ? <- Sachant que le nombre sera figé par la config !

matttbe, Sunday 06 September 2009 à 15:32


Subscription date : 24 January 2009
Messages : 12573
Question importante : 10 flux RSS çà suffira ou pas ? <- Sachant que le nombre sera figé par la config !
10 flux / fûts / messages ?

Si on sait changer facilement, peu importe en fin de compte

nochka85, Sunday 06 September 2009 à 16:05


Subscription date : 29 November 2007
Messages : 7408
En fait, y'en a 10 de préconfiguré dans la config ... mais si c'est insuffisant, dites le moi !

Allez, à vos tests -> http://dl.free.fr/cRRYv1Wir
(à lancer avec le .py ... même en double-cliquant dessus si vous ne voulez pas voir les messages dans le terminal )

... j'attends vos retours

matttbe, Sunday 06 September 2009 à 19:25


Subscription date : 24 January 2009
Messages : 12573
Excellente démo, j'approuve et très complète !

Si tu veux une idée facile à mettre en place : la possibilité de vérifier la présence de nouveaux messages :
diff OLD NEW >/dev/null
if [ $? -eq 1 ]; then
(...)
fi


Juste après ton curl, tu pourrais orienter la sortie vers du texte, par exemple :
curl -s --connect-timeout 300 $URL > ~/.config/cairo-dock/current_theme/plug-ins/.rss


Tu utilises un sleep, si c'est différent, tu places une notification et une fonctionnalité de plus est ajoutée !

PS : pour rss-reader.sh, rajoute p-ê le nom de son auteur et la licence à la base (le script est connu) . (et d'ailleurs, je ne vois pas pq on peut choisir un autre fichier. Celui qui a envie de bidouiller, il modifie ce fichier là

Cairo-Dock cafe | Café Cairo-Dock

Subjects Author Language Messages Last message
[Locked] Applet externe en bash avec interface DBus
Page : 1 2 3 4
nochka85 Français 72 nochka85 [Read]
10 September 2009 à 15:47


Glx-Dock / Cairo-Dock List of forums Cairo-Dock cafe | Café Cairo-Dock Applet externe en bash avec interface DBus Top

Online users :

Powered by ElementSpeak © 2007 Adrien Pilleboue, 2009-2013 Matthieu Baerts.
Dock based on CSS Dock Menu (Ndesign) with jQuery. Icons by zgegball
Cairo-Dock is a free software under GNU-GPL3 licence. First stable version created by Fabounet.
Many thanks to TuxFamily for the web Hosting and Mav for the domain name.