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.

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é.

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).

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 ».

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

  • devilspie.1205913516.txt.gz
  • Dernière modification: Le 18/04/2011, 14:57
  • (modification externe)