Selon les tags présents sur cette page, celle-ci n'a pas été vérifiée pour une des versions LTS supportées d'Ubuntu.
Apportez votre aide…

Comment gérer les fenêtres sous OpenBox

Bonjour à tous et à toutes :-)

Vous désirez mettre un peu d'ordre dans vos fenêtres OpenBox ? Vous avez un soucis de placement de fenêtres ?? Alors cette page est faite pour vous !! ;-)

Cette page s'applique à la configuration suivante :

Je n'ai pas testé sur une version antérieure d'Ubuntu, encore moins sur une autre distribution Linux. Mais je pense que le principe doit rester le même.

  • Être maniaque… ;-)
  • Être courageux pour lire et suivre cette page assez conséquente.
  • Avoir un minimum de connaissance dans l'utilisation du terminal.
  • Ou sinon, savoir faire des copier-coller !! :-)

Tout d'abord, vous vous demandez comment placer les fenêtres sous OpenBox ?? Pour cela, 2 solutions :

  • Les placer à la main à chaque ouverture : c'est long et fastidieux !! :-\
  • Définir des règles de position : ce que nous allons faire ici.

Définir des règles de position

Généralités

On va maintenant éditer le fichier de configuration rc.xml avec notre éditeur de texte préféré (gedit).

Pour cela, tapez dans un terminal cette commande :

gedit $HOME/.config/openbox/rc.xml

Pour ajouter une règle de position, la syntaxe est la suivante :

<applications>

  <!-- Place notre_application -->
  <application name="notre_application">
     <position force="yes">
       <x>abscisses</x>
       <y>ordonnées</y>
     </position>
  </application>
  
</applications>
Bien entendu, il faut ensuite remplacer les arguments par les bonnes valeurs… ^_^ Prenons un exemple pour être plus clair.

Exemples

Prenons un exemple simple : placer firefox à 200 pixels du bord gauche et à 50 pixel du bord supérieur de l'écran.

<applications>

  <!-- Place firefox -->
  <application name="firefox">
     <position force="yes">
       <x>200</x>
       <y>50</y>
     </position>
  </application>
  
</applications>

Maintenant, ajoutons 2 règles différentes :

  • Firefox avec la même configuration que précédemment.
  • Tilda à 450 pixels du bord gauche et à 230 pixels du bord supérieur de l'écran.
<applications>

  <!-- Place firefox -->
  <application name="firefox">
     <position force="yes">
       <x>200</x>
       <y>50</y>
     </position>
  </application>
  
  <!-- Place Tilda -->
  <application name="tilda">
     <position force="yes">
       <x>450</x>
       <y>230</y>
     </position>
  </application>
  
</applications>

Et voilà, le tour est joué ^_^

/!\ Notez bien que pour définir plusieurs règles, les balises : <applications> (au pluriel) ne sont pas répétées !!
..::: ASTUCE :::..

Pour définir la position de vos fenêtres à partir du bord droit, ou du bord inférieur, il vous suffit d'utiliser des valeurs négatives :

<!-- Place firefox -->
<application name="firefox">
  <position force="yes">
    <x>-200</x>
    <y>-50</y>
  </position>
</application>

Ceci placera Firefox à 200 pixels du bord droit et à 50 pixels du bord inférieur.

Se faciliter la vie

Vous souhaitez que toutes vos fenêtres se placent au même endroit ? Rien de plus simple !!

Voici une petite astuce pour vous éviter de définir la même règle de position pour toutes vos fenêtres :

<!-- Place TOUTES les fenêtres au même endroit -->
<application name="*">
  <position force="yes">
    <x>50</x>
    <y>50</y>
  </position>
</application>

Ici, toutes vos fenêtres ouvertes seront placées :

  • à 50 pixels du bord gauche,
  • à 50 pixels du bord supérieur.

Si vous faites la manipulation précédente et que vous utilisez tint2, alors la règle de position affectera aussi tint2.

Pas très pratique pour une barre de tâches… :-\ Mais pas de crainte, on peut remédier à ce léger soucis ;-)

Devil's Pie

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.

Pour en savoir plus, je vous conseille la doc de devilspie.

Devil's Pie semble avoir été conçu pour Metacity. Toutefois, il fonctionne très bien sous OpenBox avec cette configuration :
  • Ubuntu 10.04 - Lucid Lynx
  • OpenBox 3.4.10

Installation

Pour l'installer, 2 méthodes :

  • Installation en 1 clic : apt://devilspie
  • Via le terminal (programme présent dans les dépôts) :
sudo apt-get install devilspie

Utilisation

Ensuite, pour son utilisation, je vous renvois à la documentation dédiée : devilspie.

Son fichier et sa syntaxe de configuration sont assez complexes. Là encore, une solution simple existe : gdevilspie. Continuez au chapitre suivant ;-)

GDevilspie

GDevilspie est une interface graphique pour créer les règles de devilspie. Je vous le conseille donc fortement !!

Téléchargement

Voici le lien pour le télécharger : http://code.google.com/p/gdevilspie/downloads/list

Installation

Et la méthode à suivre pour l'installer :

  • Téléchargez, via le lien précédent, l'archive gdevilspie-0.5.tar.bz2
  • Ouvrez un terminal et exécutez ces lignes une à une :
mkdir $HOME/.devilspie
find -type f -iname "*gdevilspie-0.5.tar.bz2*" -exec mv {} $HOME/.devilspie \;
cd $HOME/.devilspie
tar xjvf gdevilspie-0.5.tar.bz2
cd gdevilspie-0.5/
sudo python setup.py install

Ces lignes de codes vont :

  • Créer un dossier caché nommé .devilspie dans votre /home
  • Trouver l'archive que vous avez téléchargée et la déplacer dans le dossier précédemment créé.
  • Vous déplacer dans ce même dossier.
  • Décompressez l'archive téléchargée.
  • Vous déplacer encore dans le bon dossier.
  • Lancer le script python pour installer gdevilspie.

Et voilà, normalement, gdevilspie vient d'être installé.

Pour le vérifier, démarrez le via le terminal :

gdevilspie &
Ne pas oublier le symbole & à la fin de la commande. Il permet de lancer l'application tout en "laissant libre" votre terminal. Ainsi, vous pouvez continuez à vous en servir, même si gdevilspie fonctionne.
Attention, au lancement de gdevilspie, il est possible que vous ayez un message vous demandant d'installer python-wnck. Pour résoudre ça, l'installer en un clic ou ouvrir un terminal, et l'installer :

sudo apt-get install python-wnck

Configuration

GDevilspie est très simple d'utilisation.

Néanmoins, pour vous éviter de chercher, voici la configuration à adopter pour (re)placer tint2 là où vous le voulez :

  • Lancez gdevilspie via le terminal.
  • Dans l'onglet Matching
    • Cochez application_name
    • Remplissez le champs equals : tint2
    • Renommer votre règle comme vous voulez (le champ tout au dessus)
  • Dans l'onglet Actions
    • Cochez pin, pour afficher tint2 sur tous les bureaux (facultatif)
    • Cochez geometry et remplissez les champs :
      • Position en X
      • Position en Y
      • Hauteur de la fenêtre
      • Largeur de la fenêtre
L'onglet Raw n'est pas super utile. Il ne fait que montrer comment est transcrite la règle dans le fichier de configuration de devilspie.
  • Enregistrez, fermez le programme et relancer tint2 :
killall tint2 ; tint2 &

Normalement, tint2 à repris sa position d'origine.

Maintenant que vos fenêtres sont placées, vous voulez qu'elles aient une taille fixe ? Bienvenue dans ce (court) chapitre !

GDevilspie

[En cours de rédaction]

Pour définir la taille de nos fenêtres, on va se servir encore une fois de gdevilspie.

  • Lancez gdevilspie via le terminal.
  • Dans l'onglet Matching
    • Cochez application_name
    • Remplissez le champs equals ou contains : nom_de votre_fenêtre
    • Renommer votre règle comme vous voulez (le champ tout au dessus)
  • Dans l'onglet Actions
    • Cochez geometry et remplissez les champs :
      • Position en X
      • Position en Y
      • Hauteur de la fenêtre
      • Largeur de la fenêtre

Cette méthode est bonne pour définir une règle, pour une fenêtre. Par exemple, avoir les fenêtres Firefox (et uniquement Firefox) de dimensions 800 par 450.

Toutefois, si vous voulez que d'autres fenêtres aient les mêmes dimensions (nautilus, gedit…), gdevilspie est un peu dépassé… :-\

Pour palier facilment à ce problème, il va falloir passer par le fichier de configuration !! ^_^ Aller c'est parti !!

Le fichier de configuration

Tout d'abord, il faut créer la règle :

  • Allez dans le dossier de devilspie ($HOME/.devilspie)
  • Créez un document > fichier vierge
  • Appelez le "Nautifox.ds" (Nauti(lus & Fire)fox … ^_^) et ouvrez le pour l'éditer.

Insérez ce bloc dans le fichier :

; generated_rule Nautifox
( if
( begin
( or
( contains ( application_name ) "Firefox" )
( contains ( application_name ) "File Manager" )
)
)
( begin
( geometry "1100x800+281+30" )
( println "match" )
)
)

Ce code fonctionne de la manière suivante : "Si le nom de l'application contient "Firefox" ou "File Manager" alors, la fenêtre créée aura une largeur de 1100 pixels, une hauteur de 800 pixels, et sera positionnée à 281 pixels du bord gauche et à 30 pixels du bord supérieur".

Ça, c'est dit !! :-P

Bon voilà, vous avez la structure de base pour configurer plusieurs fenêtres différentes avec la même règle de taille, à vous de jouer maintenant ;-)

Voilà, maintenant vous savez comment gérer vos fenêtres sous OpenBox. Vous pouvez définir la taille et/ou la position comme bon vous semble. Alors éclatez-vous !! ;-)

Pour cela, n'oubliez pas, 2 méthodes existent :

  • Modification du rc.xml
  • Ajout d'une règle dans devilspie via gdevilpie.

Merci d'avoir lu cette page. Si vous rencontrez des problèmes en la suivant ou des erreurs s'y sont infiltrées, n'hésitez pas à me contacter et/ou à les corriger.

Bonne continuation à tous et à toutes ^_^


Contributeur : Fenouille84

  • tutoriel/openbox_gestion_des_fenetres.txt
  • Dernière modification: Le 15/12/2011, 14:17
  • (modification externe)