Utiliser adesklets - adesklets 0.6.1
Description: adesklets 0.6.1

Next: Programmation d'adesklets, Previous: Installer adesklets, Up: Top

## 4 Utiliser adesklets

### 4.1 ... Comme un conteneur de desklets

Par lui-même, adesklets fait peu: il ne fournit que le nécessaire pour faire plus ! Vous aurez besoin soit de lui dire quoi faire en lui envoyant des commandes (voir la section suivante) soit d'utiliser d'autres scripts (les desklets) qui le piloteront pour vous.

Aujourd'hui, de nombreux desklets existent: vous pouvez les trouver sur le site Internet d'adesklets en tant que téléchargements séparés: http://adesklets.sf.net/desklets.html.

#### 4.1.1 Ajouter un nouveau desklet à votre affichage X

Pour ajouter un nouveau script de desklet, il suffit simplement de:

1. Télécharger sa tarball et la désarchiver quelque part dans votre répertoire personnel.
2. Lire le fichier README; les pré-requis ou instructions spécifiques y seront donnés. Habituellement, vous n'aurez besoin que d'une installation d'adesklets et d'un serveur X lancé, puis de lancer le script exécutable à partir de votre répertoire de base.

Depuis adesklets 0.4.11, les desklets en Python vous demanderont explicitement si vous voulez les enregistrer ou les tester. Ils supporteront également l'option `--help`, que vous pouvez utiliser pour savoir quelles sont les options que vous pouvez passer à l'interpréteur d'adesklets pendant des tests (détection de fausse fenêtre racine, etc.). Ceci vaut aussi pour les desklets en Perl.

Notez bien que :

- Lancer le même script plusieurs fois va en créer plusieurs instances.
- Sur les ordinateurs disposant de plusieurs écrans, les scripts seront affichés sur leur écran hérité par défaut (par exemple, si vous ne faites rien de spécial, appeler un script à partir d'un xterm sur l'écran 1 lancera le desklet sur l'écran 1).

La plupart du temps, les scripts de desklets sont faits pour fonctionner tant que vous ne leur dites pas de s'arrêter. L'utilisateur a un contrôle total sur le démarrage, l'arrêt, le redémarrage (quand c'est possible) et le positionnement du desklet, qui n'a aucun contrôle sur ces opérations.

Les quelques réglages de l'utilisateur sont stockés dans le fichier `$HOME/.adesklets` de votre répertoire personnel. Habituellement, vous n'avez pas à éditer ce fichier vous-même. Si vous le faites, assurez-vous qu'aucune instance d'`adesklets` ne s'exécute en même temps.

##### Alternative au télechargement manuel des desklets

Depuis adesklets 0.5.0, un nouveau script `adesklets_installer` est disponible si vous avez installé le paquetage avec le support de Python: il permet une gestion automatisée de vos desklets sous `$HOME/.desklets` à travers une interface interactive simple. Depuis un vrai ou pseudo-terminal, invoquez:

         adesklets_installer

Ou, si vous disposez de l'interface pour shell d'adesklets:

         adesklets -i

Il est capable de détecter quels desklets vous avez et d'en télecharger, vérifier l'integrité et décompresser de nouveaux à partir des informations contenues dans le flux officiel des desklets (http://adesklets.sf.net/desklets.atom). Bien sur, il est toujours de votre devoir de les configurer et les lancer manuellement à partir de là.

Le script `adesklets_installer` est fournit avec trois interfaces utilisateur: une interface Tk (c'est celle par défaut, basée sur le module Tkinter), une interface curses ainsi qu'une simple interface purement textuelle, qui suppose simplement qu'un terminal trivial est présent (les flux de caractères `stdin` et `stdout`). Par défaut le script essaiera de présenter à l'utilisateur la première possible dans l'ordre donné, puis se rabattera sur la suivante si elle ne fonctionne pas 1, mais vous pouvez très bien en choisir une depuis la ligne de commande. Lisez:

         adesklets_installer --help

pour plus de détails sur l'invocation.

##### Note concernant les polices du système

Vous pouvez sans problème passer cette partie si vous ne comptez pas utiliser des polices non fournies avec adeklets.

Toutes les polices TrueType présentes sur votre système peuvent être utilisées avec adesklets, pourvu que votre système supporte fontconfig (http://www.fontconfig.org/) et qu'adesklets ait été compilé sans l'option `--without-fontconfig` (par défaut il est compilé avec le support de fontconfig; See Installer adesklets.). Lors de son initialisation, un adesklets compilé avec fontconfig va parcourir toutes les polices détectées sur votre système pour identifier toutes les polices TrueType. Lisez la documentation de fontconfig pour savoir comment configurer correctement l'accès aux polices de vos logiciels (See Foire Aux Questions, pour quelques conseils sur le débogage de fontconfig). Il est aussi bon de savoir que le paquetage d'adesklets contient une copie de la police Bitstream's Vera; tous les utilisateurs peuvent donc s'attendre à ce qu'`adesklets` dispose toujours de cette police, au minimum.

##### Notes concernant l'internationalisation

Vous pouvez sans problème passer cette partie si vous n'envisagez pas d'utiliser des caractères étendus dans vos desklets.

Si votre système supporte `iconv` (See Installer adesklets.), vous devriez pouvoir utiliser n'importe quel caractère de n'importe quel jeu de caractères que votre système connait pour afficher du texte, que ce soit dans un desklet ou dans ses menus, pourvu que vous ayez les polices TrueType appropriées (c'est à dire des polices TrueType incluant la représentation de ces caractères)2.

En tout cas, en utilisant des caractères étendus (en dehors des 7 bits `ASCII`), assurez-vous que les paramètres locaux de GNU readline n'interfèrent pas. Ces trois paramètres devraient être configurés comme indiqué ci-dessous dans le fichier `initrc` approprié 3:

         set input-meta on
         set convert-meta off
         output-meta on

Si vous ne voulez pas adapter vos paramètres de GNU readline, vous pouvez aussi utiliser l'option `--enable-force-extended-characters-input` du script `configure` lors de la configuration du paquetage à partir des sources, ainsi l'interpreteur outrepassera en interne ces trois variables dès qu'il le faudra.

Bien sur, vous aurez besoin de desklets utilisant ces caractères étendus. Au moment d'écrire ces lignes, tous les desklets en Python ne provenant pas de contributions les utilisent; pour ceux-là l'utilisateur peut choisir quel jeu de caractères utiliser en le précisant dans le fichier de configuration, quand il existe4; l'utilisateur doit simplement définir correctement la ligne 'coding' 5.

Par exemple, pour utiliser les caractères ISO Latin-1, on utilisera quelquechose comme:

         # -*- coding: ISO-8859-1 -*-

à la première ou deuxième ligne du fichier de configuration d'un desklet en Python6.

Enfin, veillez noter que si votre plate-forme ne supporte pas iconv, vous devrez toujours laisser `ASCII` comme paramètre d'encodage, autrement les desklets vous renverront des erreurs fatales comme `charset conversion not compiled in`.

#### 4.1.2 Restaurer les desklets précédents sur une nouvelle session X

Invoquer `adesklets` sans arguments7:

         adesklets

est suffisant pour redémarrer tous les desklets qui tournaient la dernière fois que vous avez tué le serveur X (dans ce mode, `adesklets` terminera rapidement par lui-même : il n'y a pas besoin de le lancer en arrière-plan. adesklets n'utilise pas de démon : chaque applet créé un interpréteur `adesklets` indépendant comme processus fils). Invoquer `adesklets` quand des desklets sont déjà lancés forcera leur arrêt avant leur redémarrage 8.

Si vous pensez utiliser des desklets régulièrement, vous devriez mettre la commande `adesklets` quelque part dans l'initialisation de votre session X. Je ne peux pas dire où avec précision, puisque cela varie énormément d'un système à l'autre. Cherchez sur : http://www.google.com/search?q=''x window''+startup pour une aide générale.

Depuis adesklets 0.4.11, une interface plus complète basée sur le shell est à votre disposition si vous l'avez installée (ce qui se fait par défaut). Elle fournit un ensemble plus fonctionel d'options. Lancez

         adesklets --help

Pour voir ce que vous avez au bout des doigts. Notez bien que depuis adesklets 0.4.11, si vous avez besoin de la détection de fausse fenêtre racine vous devez normalement activer les options correctes en ligne de commande (See Foire Aux Questions.).

### 4.2 ... Comme un éditeur graphique en ligne de commande

Vous pouvez aussi utiliser adesklets comme un éditeur graphique en ligne de commande. Si vous tapez dans une console:

         adesklets :

Vous obtiendrez quelque chose ressemblant à ceci :

         adesklets 0.1.0 (Fri Jan 28 19:09:13 EST 2005), on Linux 2.6.10
         [gcc 3.4.3 20041125 (Gentoo Linux 3.4.3-r1, ssp-3.4.3-0, pie-8.7.7)]
         Press TAB for hints.
         0 >>> _

La dernière ligne est une invite. Elle vous dit que vous êtes prêt à entrer la commande numéro 0. Dans adesklets 0.6.1, vous avez environ 150 commandes à portée de main. Grâce à GNU readline, de nombreuses routines d'auto-complétion sont présentes, ce qui vous permet d'explorer facilement. Appuyez sur TAB pendant que vous entrez le nom d'une commande ou le premier argument d'une commande, et des informations utiles seront affichées. See une introduction à adesklets, pour plus d'informations.

#### Footnotes

[1] L'interface purement textuelle devrait toujours fonctionner à la fin de la journée.

[2] Par exemple, la police Bitstream's Vera fournie avec `adesklets` contient des symboles pour pratiquement tous les caractères du jeu Latin-1.

[3] Veillez vous réferer à la documentation de GNU readline

[4] si'l n'existe pas, cela signifie que de toute façon le desklet n'a pas besoin d'internationalisation

[5] Pour plus de détails consultez http://python.fyxm.net/peps/pep-0263.html.

[6] Evidemment, ce fichier de configuration devra être enregistré en utilisant l'encodage ISO Latin-1 ou n'importe lequel de ses dérivés, comme l'`ASCII`.

[7] Attention: par défaut depuis adesklets 0.4.11 vous devez ajouter certaines options si votre gestionnaire de fenêtres utilise une fausse fenêtre racine. See Foire Aux Questions.

[8] Les instances d'`adesklets` et leurs parents immédiats recevront alors un signal SIGKILL.