A propos d'adesklets - adesklets 0.6.1
Description: adesklets 0.6.1

Next: Nouveautés, Previous: Top, Up: Top

## 1 Qu'est-ce qu'adesklets ?

### 1.1 Réponse courte

`adesklets' est une console interactive d'Imlib2 pour le X Window System. 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 interactifs.

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]" (littéralement: un autre [conteneur] de desklets). Il a été écrit comme une alternative à d'autres programmes tels que:

1. GNOME gDesklets (http://gdesklets.org/)
2. KDE SuperKaramba (http://netdragon.sourceforge.net/).
3. 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èques; de base 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 de 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épende 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, fiable pour des desklets X Window totalement intégrés dans le bureau, avec quelques facilités 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.
- des dépendances de bibliothèques simples, se résumant surtout à l'utilisation de la très bonne (et rapide) bibliothèque Imlib2 pour toutes les opérations graphiques. Aucune boite à outils de fenêtres n'est utilisée: le programme repose directement sur xlib.
- un interpréteur petit, léger, robuste et portable potentiellement utilisable avec toutes sortes de langages de scripts, grâce à une syntaxe propre, limitée et homogène. Dans cette version 0.6.1, Python et Perl sont directement supportés. Le support de Ruby serait également possible, n'hésitez pas à contribuer afin que votre langage préféré soit supporté (See Extension d'adesklets.)!
- 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 130 Ko sur le disque et prend moins de 3Mo de mémoire virtuelle par desklet, juste après son lancement. Lorsque le desklet est lancé, au repos il n'utilise quasiment aucun cycle processeur (même en prenant en compte le script Python); dans la plupart des cas c'est même legèrement moins avec un script Perl.

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 interface graphique (GUI), seulement des desklets.
- de mécanismes compliqués pour la configuration des scripts. Les développeurs de scripts sont libres (ou condamnés, selon la façon de voir les choses) de faire ce qui leur convient, bien que pour Python des routines par défaut soient disponibles pour les aider.
- un support pour tout ce qui n'est pas entièrement compatible avec un système POSIX. Par exemple, il serait vraiment surprenant d'arriver à le compiler sur Cygwin.
- une gestion poussée des évènements utilisateurs. Le but d'`adesklets` est d'être fiable et frugal; seuls quelques événements - essentiellement relatifs au pointeur - sont utilisables via son API. Ne réclamez pas le support des évènements claviers ou l'intégration de boites à outils – cela va à l'encontre des objectifs du projet.

#### Footnotes

[1] Bien sûr, c'est uniquement l'opinion de l'auteur - et ces deux applications ont fait de gros progrès sur la gestion des ressources de version en version.