Technical discussions | Discussions techniques
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 |
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 ?) |
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". |
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 ! |
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... |
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 ! |
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. |
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
|