Next: Programmation d'adesklets, Previous: Installer adesklets, Up: Top
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.
Pour ajouter un nouveau script de desklet, il suffit simplement de:
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 :
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.
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.
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.
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
.
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.).
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.
[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.