Ceci est une ancienne révision du document !
Syntaxe des règles
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ée 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.
Astuces
Il est possible d'avoir plusieurs règles dans un seul fichier. Il faut pour cela englober les règles dans un "begin" général.
(begin (if (contains (application_name) "toto") (begin (set_workspace 1) (geometry "+0+0"))) (if (contains (application_name) "titi") ...) .... )
Si vous désirez avoir une application sur tous les bureaux en utilisant Compiz, utilisez les éléments suivants :
(stick) (wintype "dock")
Pour Metacity :
(pin) (wintype "desktop")
Si vous voulez lancer une application sur un bureau précis en utilisant Compiz (X est le numéro du bureau visé) :
(set_viewport X)
Pour Metacity :
(set_workspace X)
Problèmes connus
Si l'application graphique ne se lance pas, ouvrez avec les droits d'administrateur le fichier /usr/bin/gdevilspie.
Commentez 1) la ligne suivante:
# self.UpdateAutostartStatus()
Enregistrer le fichier et relancer gdevilpsie. (Merci à hrvooje de la communauté de Linux Mint)
Un changement de paramétrage n'est pris en compte qu'après un redémarrage de devilspie. Le plus simple est de redémarrer la session.