Home Forums Wiki Doc Install Extras Screenshots Source Code Projects Blog Users Groups Register
Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Créateur de plug-in automatique
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)
Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Créateur de plug-in automatique
necropotame Français 9 Pouet [Read]
11 April 2008 à 18:56

necropotame, Friday 11 April 2008 à 11:53


Subscription date : 29 November 2007
Messages : 1583
Je pense qu'il est grand temps de commencer le travail sur un système de création simple d'applet.
Plutôt que de faire des plug-ins en C qui sont lourd et compliqué à mettre en place (pour une personne qui n'y connait rien), je pense que l'on devrais mettre en place une norme pour créer simplement une applet à l'aide d'un fichier XML (XML car on peut faire plus de chose).

Cette norme permettrait d'avoir plus de plug-ins et de simplifier leur création. Ça permetrait aussi de se les échanger via internet et non plus uniquement par le SVN (puisqu'ils ne seront que des fichier texte et image)

Je propose ça comme idée de départ :

<cairo-dock-applet>
    <author>Nom de l'auteur</author>
    <description>Blablabla</description>
    <name>Nom de l'applet</name>
    <action key="onStart"></action>
    <action key="onStop"></onStop>
    <action key="onClick">
        <command>rhythmbox-client --pause</command>
        <notification>Rhythmbox est en pause !</notification>
    </action>
    <action key="onMiddleClick">
        <command>rhythmbox-client --pause</command>
    </action>
</cairo-dock-applet>


Comme vous pouvez le voir, l'applet possède une partie pour se définir (nom, auteur, description ...) et une partie pour les actions à réaliser. Pour chaque action, on attribue une série d'évènement comme "exécuter une commande", "afficher une info-bulle", "afficher une icône", "afficher une jauge", "animer l'icône" ...

Il faudrait aussi trouver une technique pour proposer d'exécuter une commande toutes les X secondes et de récupérer le résultat (vue que c'est très courant chez les applets).

cchumi, Friday 11 April 2008 à 11:56


Subscription date : 11 January 2008
Messages : 390
Tres judicieuse idee , je tenais a le souligné . Cela permettrait d'elargir le monde des developpeurs d'applet.

+1

nochka85, Friday 11 April 2008 à 12:39


Subscription date : 29 November 2007
Messages : 7408
On pourra faire des applets sans rien y connaitre en programmation ?? (ce sera une sorte de language interne pour cairo-dock ?)

fabounet, Friday 11 April 2008 à 13:48


Subscription date : 30 November 2007
Messages : 17118
sans rien y connaître ça risque pas il restera toujours le code "utile" qui peut parfois être complexe (code la poubelle en XML pour voir )
en tout cas ça va dans l'idée de ce que j'ai fait jusqu'ici pour simplifier l'écriture des applets à la façon d'un "texte à trou".

necropotame, Friday 11 April 2008 à 14:45


Subscription date : 29 November 2007
Messages : 1583
L'objectif n'est bien sur pas de refaire toutes les applets avec ça ^^ Mais par exemple, là on n'a le moniteur pour le CPU, la ram, la vitesse de connexion et la wifi qui fonctionne de manière assez simple. Si on pouvait juste dire "fait tel commande toutes les X secondes et affiche le résultat dans une jauges", ça serais plus simple !

parAdOxxx_ZeRo, Friday 11 April 2008 à 16:01


Subscription date : 14 January 2008
Messages : 1122
j'approuve ! Ca serait vraiment bien, peut etre pas facile à mettre en place mais bien. Voir par contre que ce soit pas trop réducteur...

necropotame, Friday 11 April 2008 à 16:14


Subscription date : 29 November 2007
Messages : 1583
C'est pas réducteur dans le sens ou ça ne remplace rien, ça ajoute. Si vous avez déja jeté nu coup d'oeil du couté de SuperKaramba, vous devez savoir que le soft permet d'afficher plein de chose uniquement à partir d'un simple fichier texte qui permet de positionner les objets, de créer des graphiques ... c'est en partie grâce à ça que ça a très bien fonctionné. A l'inverse, Screenlets à mit beaucoup de temps à fournir un grand nombre d'applet.
J'ai essayé de mettre ça en pratique avec les jauges, en proposant de créer simplement des thèmes assez poussé. Je pense que l'on est capable d'aller plus loin et de proposer aux utilisateurs une façon simple de créer des applets sans installer de compilateur.

Le fichier XML est répartie en deux niveaux : Les actions et les sous-actions. les actions correspondent en faite aux fonctions d'une applet classique. Les sous-action sont des balises normalisez qui permettent d'utiliser les fonctions les plus pratique du dock :
  • <command></command> pour exécuter une commande bash ou un script bash
  • <command name="truc"></command> pour exécuter une commande bash et récupérer le résultat dans une "variable" nommé "truc"
  • <gauge value="%truc" max="145"></gauge> pour afficher une jauge qui affiche la valeur truc/max.
  • <dialog>Coucou %truc</dialog> qui affichera Cocou %truc en remplaçant %truc par sa valeur.
  • <dialog type="string" name="my_name">Votre nom</dialog> Affiche une boite de dialogue avec le texte "Votre nom" et un champ à remplire qui sera contenu dans la variable "my_name".


Avec ce type de truc, on peut faire plein de chose, sans trop se prendre la tête !

fabounet, Friday 11 April 2008 à 18:23


Subscription date : 30 November 2007
Messages : 17118
ma foi ça pourrait être sympa, le seuil écueil étant de pouvoir fournir des fonctions avancées avec ça.
tu es naturellement limité par ce que peut t'offrir le dock, du coup toute applet écrite avec ça ne peut que refaire ce que font les applets déjà existantes. Et dés que tu veux rajouter ne serait-ce qu'une fonctionnalité qui n'existe pas encore, il y'a un gouffre à franchir.
mais l'idée est bonne car clairement il y'a de la factorisation dans l'air quand on regarde certaines applets.

necropotame, Friday 11 April 2008 à 18:36


Subscription date : 29 November 2007
Messages : 1583
Je suis d'accord sur le fait que l'on ne peut pas faire de chose extrêmement complexe avec, mais pour faire de petite chose, comme par exemple un contrôleur pour un logiciel ou une applet pour vérifier l'état de quelque chose, et bien ça devais suffire.

De toute manière, ça sera un truc à améliorer au cours du temps. Intégrer des fonctions DBus par exemple, ou bien des fonction de gestion de fichier.

Pouet, Friday 11 April 2008 à 18:56


Subscription date : 30 November 2007
Messages : 605
et l'interaction avec du python ou tout autre langage interprété ? Ca ne peut que faire du bien, pas besoin de nouveau paquet pour les plug-ins, langage répandu au niveau le linux... un inconvénient : la performance surement moindre.

Je conçois vraiment que c'est surement complexe aussi.

Technical discussions | Discussions techniques

Subjects Author Language Messages Last message
[Locked] Créateur de plug-in automatique
necropotame Français 9 Pouet [Read]
11 April 2008 à 18:56


Glx-Dock / Cairo-Dock List of forums Technical discussions | Discussions techniques Créateur de plug-in automatique 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.