Ceci est une ancienne révision du document !
Devil's Pie : ouvrir une fenêtre dans le bureau
Devil's Pie permet d'ouvrir une fenêtre dans le bureau et le format choisi.
Introduction
Devil's Pie est un logiciel qui, dans le gestionnaire de fenêtres Metacity (gestionnaire utilisé par Gnome) permet de détecter les caractéristiques des fenêtres et de leur appliquer des règles de comportement.
Il s'agit d'un logiciel libre de Ross Burton (http://www.burtonini.com , ross@burtonini.com) publié sous la license GNU GPL.
Ceci est un résumé de 2 how-tos absolument remarquables (en anglais) :
http://ubuntuforums.org/showthread.php?t=75749
Ce how-to de Wolki extrêmement complet et détaillé fournit aussi la technique de paramétrage basée sur des fichiers xml des versions antérieures à la 0.13.
http://wiki.foosel.net/linux/devilspie ou http://live.gnome.org/DevilsPie
Les fichiers de la doc (/usr/share/doc/devilspie) sont malheureusement trop succincts pour être d'une quelconque utilité.
Pré-requis
Ce texte décrit les règles de paramétrage de devilspie à partir de la version 0.13 (complète réécriture du logiciel ; auparavant le paramétrage était totalement différent). À noter que le dépôt Ubuntu 6.06 universe contient la version 0.16 qui a été utilisée pour ce résumé (avril 2006).
Lancement du logiciel
On peut lancer le logiciel ponctuellement en tapant « devilspie » dans un terminal.
En revanche, pour qu'il soit lancé automatiquement à chaque session, aller dans : Système / Préférences / Sessions / onglet Programmes au démarrage Cliquer sur le bouton « Ajouter » et dans la ligne « Commande de démarrage », taper « devilspie ».
Utilisation/Configuration
Il faut d'abord créer un dossier :
- Soit ~/.devilspie c'est-à-dire dans le dossier d'un utilisateur précis les autres n'étant pas concernés (le point initial faisant que le dossier sera un dossier caché [dans nautilus, on peut faire apparaître les fichiers cachés par ctrl H ou par le menu Affichage / Afficher les fichiers cachés]).
- Soit /etc/devilspie, ce qui s'appliquera alors à tous les utilisateurs.
Dans ce dossier on enregistrera les règles qui s'appliqueront aux fenêtres de Gnome sous forme de fichier nommés (à votre choix arbitraire, exemple : gThumb.ds) nom_de_la_regle.ds avec une seule règle par fichier (à l'heure actuelle).
La syntaxe des règles est la suivante
La règle et ses éléments doivent être entre parenthèses : (règle)
La règle peut être :
- une simple action (elle s'applique alors à toutes les fenêtres) : (debug) ou
- une condition : (if (condition) (action)) : si la condition est vraie alors l'action est réalisé par devilspie.
(if (is (application_name) "gThumb") (maximize)) (si l'application qui ouvre la fenêtre est gThumb alors devilspie va maximiser la fenêtre).
La condition peut être :
- is (identité)
- contains (contient) ou
- matches (indique que le second terme de la condition est une expression régulière).
L'objet de la condition peut être :
- application_name
- window_name ou
- window_role
Il peut être utile de combiner des conditions, par exemple traiter toutes les fenêtres de Firefox dont le titre contient ubuntu ; on peut à cet effet utiliser and et or.
(and (is (application_name) "Firefox") (contains (window_name) "Ubuntu"))
De la même façon, on peut faire appliquer plusieurs actions en faisant débuter la liste par begin :
(if (is (application_name) "gThumb") (begin (maximize) (set_workspace 4)))
Quand une action comporte un argument l'ensemble doit être entre parenthèses.
Les actions possibles
debug = Renvoie les informations sur les fenêtres ouvertes
maximize, maximize_horizontally, maximize_vertically
minimize
fullscreen = Plein-écran
center = Centre la fenêtre sur l'écran
geometry largeur[x]hauteur[+]abcisse[+]ordonnée
- (geometry "400x200+0+0") placera la fenêtre en 400 de large par 200 de haut en haut à gauche
- (geometry "400x200")
- (geometry "+10+10")
(set_workspace 2) = déplace la fenêtre vers le bureau n° 2
pin = rend la fenêtre présente sur tous les bureaux
above = met la fenêtre en avant-plan
focus = met le focus sur la fenêtre
undecorate = Supprime les décorations du gestionnaire de fenêtres (Barre de titre et bordures)
Obtenir le nom d'une application
Pour obtenir le nom exacte d'une application (à utiliser avec application_name) il vous suffit de créer un fichier ~/.devilspie/debug.ds et d'y ajouter :
(debug)
Ensuite, lancez "devilspie -d" dans une console et observez les lignes apparaissant à l'écran lorsque vous lancez une application. Exemple pour Firefox :
Window Title: 'Forum :: Voir le sujet - Devil's Pie ou l'art de manipuler ses fen?tres - Mozilla Firefox Beta 1'; Application Name: 'Firefox'; Class: 'Firefox-bin'; Geometry: 1014x692+5+46
La partie à retenir est : "Application Name: 'Firefox'".
Contributeur : epictete