Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
devilspie [Le 21/08/2026, 23:30] – màj lien interne krodelabestioledevilspie [Le 26/08/2026, 03:57] (Version actuelle) – màj liens internes | mise en forme (sur le web souligné = lien) -> pas terminée : utilisez '' (deux guillemets simples) pour le code inline ! krodelabestiole
Ligne 9: Ligne 9:
 Devil's Pie marche normalement avec n'importe quel [[:gestionnaire de fenêtres]] (xfwm, metacity, compiz ...) X11, mais :!: PAS avec [[wayland|Wayland]]. Devilspie ne fonctionne donc pas sous [[:GNOME Shell]] pour Wayland (il faut alors utiliser l'[[:extensions gnome|extension GNOME]] [[https://extensions.gnome.org/extension/16/auto-move-windows/|auto-move-windows]]) :!:. Devil's Pie marche normalement avec n'importe quel [[:gestionnaire de fenêtres]] (xfwm, metacity, compiz ...) X11, mais :!: PAS avec [[wayland|Wayland]]. Devilspie ne fonctionne donc pas sous [[:GNOME Shell]] pour Wayland (il faut alors utiliser l'[[:extensions gnome|extension GNOME]] [[https://extensions.gnome.org/extension/16/auto-move-windows/|auto-move-windows]]) :!:.
  
-<note Important>Cet article porte sur **Devilspie**, mais il existe également un fork de Devilspie, nommé [[http://www.nongnu.org/devilspie2/|Devilspie2]], qui se configure différemment, via des scripts Lua simples. __Attention à ne pas les confondre__.</note>+<note Important>Cet article porte sur **Devilspie**, mais il existe également un fork de Devilspie, nommé [[http://www.nongnu.org/devilspie2/|Devilspie2]], qui se configure différemment, via des scripts Lua simples. //Attention à ne pas les confondre !//</note> 
 ===== Installation ===== ===== Installation =====
  
-[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt>devilspie]]**.+[[:deb#installer_un_paquet_deb|Installez le paquet]] ''[[apt>devilspie]]''.
  
 Pour que Devilspie soit actif à chaque démarrage, il faudra juste ajouter Pour que Devilspie soit actif à chaque démarrage, il faudra juste ajouter
Ligne 18: Ligne 19:
  
 ===== Configuration manuelle simple  ===== ===== Configuration manuelle simple  =====
 +
 L'utilisation la plus courante de devilspie, c'est d'affecter un logiciel à un bureau spécifique, ou de positionner sa fenêtre (mode "minimisé", centré, en haut à gauche, ...). Pour ce faire : L'utilisation la plus courante de devilspie, c'est d'affecter un logiciel à un bureau spécifique, ou de positionner sa fenêtre (mode "minimisé", centré, en haut à gauche, ...). Pour ce faire :
  
-  * Créer un [[:fichier_cache|répertoire caché]] **/.devilspie** dans votre //Dossier Personnel// (si vous préférez le terminal : **mkdir ~/.devilspie)**. \\ :!: Si les fichiers de règles ne sont pas placés dans le répertoire **~/.devilspie** mais dans  **/etc/devilspie**, les règles s'appliqueront alors à **tous** les utilisateurs. Mais les règles devront alors être manipulées en mode [[:sudo|administrateur]]. :!: +  * Créer un [[:fichier_cache|répertoire caché]] ''/.devilspie'' dans votre //Dossier Personnel// (si vous préférez le terminal : ''mkdir ~/.devilspie''). \\ :!: Si les fichiers de règles ne sont pas placés dans le répertoire ''~/.devilspie'' mais dans  ''/etc/devilspie'', les règles s'appliqueront alors à //tous// les utilisateurs. Mais les règles devront alors être manipulées avec les [[:permissions administrateur]]. :!: 
-  * Dans ce répertoire caché, créer avec un éditeur de texte quelconque ([[gedit|gedit]], [[mousepad|mousepad]], [[nano|nano]], ...) un fichier par logiciel qu'on souhaite manipuler. Le fichier est un fichier texte avec un extension **.ds**  Le nom n'a pas d'importance, mais il est logique de donner le nom du programme manipulé. Par exemple **Thunderbird.ds**+  * Dans ce répertoire caché, créer avec un éditeur de texte quelconque ([[:gedit]], [[:mousepad]], [[:nano]], ...) un fichier par logiciel qu'on souhaite manipuler. Le fichier est un fichier texte avec un extension ''.ds''  Le nom n'a pas d'importance, mais il est logique de donner le nom du programme manipulé. Par exemple ''Thunderbird.ds''
-  * À l'intérieur du fichier, **on colle les commandes** pour engendrer le comportement souhaité. Voir les exemple ci-dessous.+  * À l'intérieur du fichier, on colle les commandes pour engendrer le comportement souhaité. Voir les exemple ci-dessous.
  
-Gardons l'exemple de Thunderbird pour la suite :+Gardons l'exemple de Thunderbird pour la suite\_:
  
-__**Démarrer Thunderbird sur le bureau 3.**__+**Démarrer Thunderbird sur le bureau 3.**
  
 <file> <file>
Ligne 35: Ligne 37:
 </file> </file>
  
-__**Démarrer Thunderbird en mode minimisé**__+**Démarrer Thunderbird en mode minimisé**
  
 <file> <file>
Ligne 45: Ligne 47:
 On peut remplacer (minimize) par (center) si on veut centrer la fenêtre. On peut remplacer (minimize) par (center) si on veut centrer la fenêtre.
  
-__**Démarrer Thunderbird avec la fenêtre positionnée en haut à gauche**__+**Démarrer Thunderbird avec la fenêtre positionnée en haut à gauche**
  
 <file> <file>
Ligne 57: Ligne 59:
 Pour démarrer en haut et à **droite** de l'écran : **(geometry "-1+0")**. En **bas** et à **droite** : **(geometry "-1-1")**. En **bas** et à **gauche** : **(geometry "+0-1")**. Pour démarrer en haut et à **droite** de l'écran : **(geometry "-1+0")**. En **bas** et à **droite** : **(geometry "-1-1")**. En **bas** et à **gauche** : **(geometry "+0-1")**.
  
-__**Démarrer Thunderbird avec la fenêtre positionnée en haut à gauche __ET__ avec une dimension imposée**__+**Démarrer Thunderbird avec la fenêtre positionnée en haut à gauche //et// avec une dimension imposée**
  
 <file> <file>
Ligne 67: Ligne 69:
 Dans cet exemple,  "1200x1150" est la taille imposée à la fenêtre ; "+1+0" est sa position (en haut à gauche). Dans cet exemple,  "1200x1150" est la taille imposée à la fenêtre ; "+1+0" est sa position (en haut à gauche).
  
-__**Démarrer Thunderbird sur le bureau 3 __ET__ en mode minimisé**__+**Démarrer Thunderbird sur le bureau 3 //et// en mode minimisé**
  
 <file> <file>
Ligne 76: Ligne 78:
 </file> </file>
  
-Dans cet exemple, il y a __2 actions__ (bureau 3 ET minimiser), et elles doivent être __encadrées__ par un **(begin ...)**. (begin) est inutile pour une seule action (cf. exemples 1et 2).+Dans cet exemple, il y a //2 actions// (bureau 3 et minimiser), et elles doivent être encadrées par un ''(begin ...)''. (begin) est inutile pour une seule action (cf. exemples 1et 2).
  
-__**Démarrer TOUS les logiciels avec une fenêtre centrée**__+**Démarrer TOUS les logiciels avec une fenêtre centrée**
  
 <file> <file>
Ligne 86: Ligne 88:
 </file> </file>
  
-__**ASTUCE**__ : on peut avoir __un seul__ fichier de configuration pour tous ses logiciels, à condition de l'encadrer par une fonction (begin). Exemple :+<note tip> 
 +On peut avoir un seul fichier de configuration pour tous ses logiciels, à condition de l'encadrer par une fonction ''(begin)''. Exemple : 
 +</note> 
 <file> <file>
 (begin (begin
Ligne 107: Ligne 112:
 ) )
 </file> </file>
-Ici, Thunderbird et gmusicbrowser sont envoyés sur 2 bureaux différents (et gmusicbrowser est en plus minimisé), Firefox est affiché en haut à gauche avec une fenêtre de taille 1200x1150. Comme le montrent 2 des exemples plus haut, **(begin)** permet soit de regrouper plusieurs programmes dans un seul fichier, soit de regrouper plusieurs options pour un même programme ; on peut tout à fait (cf. l'exemple avec gmusicbrowser) mettre un begin (fonction1 fonction2) __dans__ un begin (programme1 programme2).+Ici, Thunderbird et gmusicbrowser sont envoyés sur 2 bureaux différents (et gmusicbrowser est en plus minimisé), Firefox est affiché en haut à gauche avec une fenêtre de taille 1200x1150. Comme le montrent 2 des exemples plus haut, **(begin)** permet soit de regrouper plusieurs programmes dans un seul fichier, soit de regrouper plusieurs options pour un même programme ; on peut tout à fait (cf. l'exemple avec gmusicbrowser) mettre un begin (fonction1 fonction2) dans un begin (programme1 programme2).
  
 En fonction de votre besoin, créez le nombre de fichier nécessaire (1 fichier par programme, ou un fichier global) et adaptez le **nom du programme** et le N° de bureau (**set_workspace**) qu'on trouve dans les exemples précédents. En fonction de votre besoin, créez le nombre de fichier nécessaire (1 fichier par programme, ou un fichier global) et adaptez le **nom du programme** et le N° de bureau (**set_workspace**) qu'on trouve dans les exemples précédents.
  
  
-__**Une fois un fichier de paramétrage créé, il faut démarrer devilspie pour que cela fonctionne :**__ +**Une fois un fichier de paramétrage créé, il faut démarrer devilspie pour que cela fonctionne :** 
-  * __ponctuellement__ : ouvrir une invite de commande via alt+F2, et y taper **devilspie**+  * ponctuellement : ouvrir une invite de commande via ''Alt''+''F2'', et y entrer ''devilspie''
-  * __Paramétrer un démarrage automatique via votre interface graphique__ +  * Paramétrer un démarrage automatique via votre interface graphique 
-     dans XFCE : "gestionnaire de paramètre > session et démarrage > démarrage automatique d'application > ajouter"  ;  +     sur XFCE : "gestionnaire de paramètre > session et démarrage > démarrage automatique d'application > ajouter"  ;  
-     dans Ubuntu gnome "Applications > Applications au démarrage > ajouter" +     sur Ubuntu ([[:GNOME]]) : //Applications// -//Applications au démarrage// -//Ajouter//. 
-     * Puis dans la zone "**commande**", ajouter la commande "**devilspie**" (Devilspie se lancera alors à chaque démarrage de votre session Ubuntu). +     * Puis dans la zone //commande//, ajouter la commande ''devilspie'' (Devilspie se lancera alors à chaque démarrage de votre session Ubuntu). 
-  * __Paramétrer un démarrage automatique via le terminal__ :+  * Paramétrer un démarrage automatique via le terminal :
 <code>ln -s -f /usr/share/applications/devilspie.desktop ~/.config/autostart/devilspie.desktop</code> <code>ln -s -f /usr/share/applications/devilspie.desktop ~/.config/autostart/devilspie.desktop</code>
 Paramétrer votre démarrage automatique en mode graphique ou en mode texte est équivalent, mais ne faite pas les 2 méthodes à la fois. Paramétrer votre démarrage automatique en mode graphique ou en mode texte est équivalent, mais ne faite pas les 2 méthodes à la fois.
  
-__**4 remarques importantes :**__+**4 remarques importantes :**
   * Il ne faut pas faire de faute dans le nom du logiciel, ou cela ne marchera pas.   * Il ne faut pas faire de faute dans le nom du logiciel, ou cela ne marchera pas.
   * Les noms de programmes sont sensibles à la casse : **F**irefox marche, mais pas firefox (sans majuscule). Certains logiciels demandent une majuscule (**F**irefox), et d'autres non (**g**musicbrowser).   * Les noms de programmes sont sensibles à la casse : **F**irefox marche, mais pas firefox (sans majuscule). Certains logiciels demandent une majuscule (**F**irefox), et d'autres non (**g**musicbrowser).
-  * un fois lancé, devilspie __ne prend plus en compte__ les modifications ou ajouts des fichiers **.ds**. Pour que ces modifications / ajouts prennent effet, il faut donc redémarrer devilspie (rédémarrage de session, ou pour les adeptes du terminal : **pkill devilspie** [tue le processus], suivi d'un **devilspie** [redémarre le processus]). +  * un fois lancé, devilspie ne prend plus en compte les modifications ou ajouts des fichiers ''.ds''. Pour que ces modifications / ajouts prennent effet, il faut donc redémarrer devilspie (rédémarrage de session, ou pour les adeptes du terminal : ''pkill devilspie'' [tue le processus], suivi d'un ''devilspie'' [redémarre le processus]). 
-  * Certains logiciels n'ont pas de nom stable. C'est le cas de Chromium, qui associe un nom d'onglet et le nom "Chromium". Le nom change tout le temps. Dans ce cas, une recherche sur le **nom complet**, du type ''(is (application_name) "Chromium")'' ne fonctionne __pas__. Il faut alors chercher sur une **partie du nom**, en utilisant l'option "contains", de cette façon : ''(contains (application_name) "Chromium")''. Là, l'identification du navigateur fonctionne.+  * Certains logiciels n'ont pas de nom stable. C'est le cas de Chromium, qui associe un nom d'onglet et le nom //Chromium//. Le nom change tout le temps. Dans ce cas, une recherche sur le **nom complet**, du type ''(is (application_name) "Chromium")'' ne fonctionne pas. Il faut alors chercher sur une **partie du nom**, en utilisant l'option "contains", de cette façon : ''(contains (application_name) "Chromium")''. Là, l'identification du navigateur fonctionne.
  
 Pour d'autres fonctionnalités, voir les chapitres suivants. Pour d'autres fonctionnalités, voir les chapitres suivants.
Ligne 133: Ligne 138:
  
 ==== Commentaires ==== ==== Commentaires ====
 +
 Une ligne de **commentaire** peut-être introduite dans le fichier. Elle commence par un **;** Une ligne de **commentaire** peut-être introduite dans le fichier. Elle commence par un **;**
  
Ligne 262: Ligne 268:
 </file> </file>
  
-Si vous voulez lancer une application sur un bureau précis en utilisant Compiz (__**X** est le numéro du bureau visé__) :+Si vous voulez lancer une application sur un bureau précis en utilisant Compiz (''X'' est le numéro du bureau visé) :
 <file> <file>
 (set_viewport X) (set_viewport X)
Ligne 274: Ligne 280:
 pour un bureau de 800x600 compiz le considère comme un bureau de 3200x600, donc si je veux ouvrir mon application sur le second bureau (geometry "800x600+800+0").</note> pour un bureau de 800x600 compiz le considère comme un bureau de 3200x600, donc si je veux ouvrir mon application sur le second bureau (geometry "800x600+800+0").</note>
  
 +===== Liens =====
  
-  
-===== Liens ===== 
   * [[http://live.gnome.org/DevilsPie|une présentation détaillée de Devilspie]]   * [[http://live.gnome.org/DevilsPie|une présentation détaillée de Devilspie]]
-  * [[http://www.nongnu.org/devilspie2/|Le site officiel de Devilspie2]] (devilspie 2 est dans les dépôts, mais n'est __pas__ la version décrite dans cette page d'aide).+  * [[http://www.nongnu.org/devilspie2/|Le site officiel de Devilspie2]] (devilspie 2 est dans les dépôts, mais n'est pas la version décrite dans cette page d'aide).
  
 ---- ----
- +// [[:Contributeurs]] : [[utilisateurs:epictete]], [[utilisateurs:McPeter]], [[utilisateurs:ljere]], [[utilisateurs:Fenouille84]].//
-//Contributeur : [[utilisateurs:epictete]], [[utilisateurs:mcpeter|McPeter]], [[utilisateurs:ljere|ljere]], [[utilisateurs:Fenouille84]]//+