1 Qu'est-ce qu'adesklets ?
1.1 Réponse courte
adesklets `adesklets' est une
console interactive d'Imlib2 pour
le système X Window. Il permet à des langages de
script d'écrire de manière propre et simple des
applets graphiques intégrés au bureau (i.e.
"desklets") de belle apparence et légèrement
interactif.
Il peut aussi être utilisé comme un
éditeur graphique en ligne de commande, un peu comme
ImageMagick , mais avec
des fonctionnalités différentes.
1.2 Réponse longue
adesklets signifie "another
desklets [container]". Il a été écrit comme
une alternative à d'autres programmes tels que :
- GNOME gDesklets (http://gdesklets.gnomedesktop.org/)
- KDE SuperKaramba (http://netdragon.sourceforge.net/).
- GKrellM (http://www.gkrellm.net/)
Puisque ce projet s'appelle 'a'desklets, il est encore
possible, pour commencer des projets semblables, d'utiliser
l'espace de 'b' à 'z' desklets, à l'exception de
'g' desklets, qui est déjà pris.
Plus sérieusement, tous ces programmes sont bons.
Néanmoins, les deux premiers ont des pré-requis
très lourds en termes de dépendances de
bibliothèque ; de base les gDesklets requiert que le
bureau GNOME soit entièrement installé (plus
quelques bibliothèques spécialisées telles
que gnome-python), tandis que SuperKaramba a besoin de toutes les
bibliothèques de KDE ainsi que de l'environnement base.
Ceci se répercute sur l'exécution des autres
taches1. D'autre part, alors que GkrellM est
plus léger (bien qu'il dépend toujours de GTK+), il
ne fournit pas la même qualité en terme de
"présentation" (selon les goûts de l'auteur,
naturellement) ou de " scriptabilité " par rapport aux
deux autres.
De ce constat est né adesklets. Il fournit :
- un cadre minimal pour des desklets X Window totalement
intégré dans le bureau, avec une facilité
d'emploi pour gérer leur lancement, leur placement et
leur arrêt.
- une API de dessin générique, riche et facile
d'emploi semblable à celle de gDesklets et de
SuperKaramba concernant sa qualité visuelle, grâce
à la bibliothèque Imlib2.
- une dépendance très limitée de
bibliothèques : utilisation de la très bonne (et
rapide) bibliothèque Imlib2 pour toutes les
opérations graphiques. Aucune boite à outils de
fenêtre n'est utilisé : le programme repose
directement sur xlib.
- un léger, robuste et petit interpréteur
potentiellement utilisable avec toutes sortes de langages de
scripts, grâce à une syntaxe propre,
limitée et homogène. Dans cette version 0.4.7, le
support de Python a été fourni
séparément. Dans les futurs versions, le support
de Perl et Ruby sont prévus : n'hésitez pas
à contribuer afin que votre langage
préféré soit supporté !
- un usage minimal de l'espace disque, de la mémoire
vive et du processeur. Typiquement, avec la glibc-2.3.4 et le
noyau Linux 2.6 sur une architecture x86, l'unique
exécutable représente moins de 120 Ko sur le
disque et prend moins de 3Mo de mémoire virtuelle par
desklet, après initialisation, et quasiment aucun cycle
de processeur (y compris ceux du script python
interprété) lorsque le desklet est
lancé.
Il ne fournit PAS :
- une API de fenêtre sophistiquée, ni même
un accès aux widgets en dehors de menus gris nus et
laids : vous ne pouvez clairement pas écrire une
application GUI avec ces seuls desklets.
- des mécanismes compliqués (ni même de
mécanismes clairs, en la matière) pour la
configuration de script. Les développeurs de scripts
sont libres (ou condamné, selon la façon de voir
les choses) de faire ce qu'il leur convient.
- un support pour tout ce qui n'est pas entièrement
compatible avec un système POSIX. Par exemple, ce serait
vraiment surprenant qu'il puisse être possible de le
compiler sur cygwin.
- un gestionnaire avec de nombreuses fonctionnalités
pour les événements utilisateurs. adesklets vise une faible consommation de
ressource et une fiabilité ; seuls quelques
événements - principalement ceux concernant le
pointeur - sont utilisables dans l'API.