Openbox (Français) - ArchWiki

Jump to content
From ArchWiki
État de la traduction: Cet article est la version francophone de Openbox. Date de la dernière traduction: 2022-10-04. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Related articles

- Desktop environment
- Display manager (Français)
- File manager functionality
- Xdg-menu
- Oblogout
- Window manager (Français)

Openbox est un gestionnaire de fenêtres léger, puissant et hautement configurable avec un support étendu des standards. Il peut être construit et exécuté indépendamment comme la base d'un environnement de bureau unique ou dans d'autres environnements de bureau intégrés tels que KDE et Xfce, comme une alternative aux gestionnaires de fenêtres qu'ils fournissent. L'environnement de bureau LXDE est lui-même construit autour d'Openbox.

## Installation

Installez le paquet openbox. Installez également les polices TTF telles que ttf-dejavu et ttf-liberation.

## Démarrage

### Autonome

Lancez `openbox` ou `openbox-session` avec xinit. Notez que seule `openbox-session` fournit un démarrage automatique.

Note: Après avoir exécuté openbox-session, il n'y a qu'un écran gris vide. Essayez de déplacer votre souris et de faire un clic droit pour obtenir un menu openbox afin de vous assurer qu'il fonctionne réellement.

### Autres environnements de bureau

Note:

- Lorsque vous remplacez le gestionnaire de fenêtres natif d'un environnement de bureau par Openbox, gardez à l'esprit qu'Openbox ne fournit aucun effet de composition (comme la transparence). Voir #Effets de composition.
- Openbox fonctionne avec les applications GNOME (mais consultez GTK#Client-side decorations). [1]

Consultez Desktop environment#Use a different window manager.

## Configuration

Note: Les fichiers de configuration locaux priment toujours sur les équivalents globaux.

Quatre fichiers clés forment la base de la configuration d'Openbox, chacun ayant un rôle unique. Il s'agit de : `rc.xml`, `menu.xml`, `autostart`, et `environment`. Bien que ces fichiers soient abordés plus en détail ci-dessous, pour commencer à configurer Openbox, il sera d'abord nécessaire de créer un profil Openbox local (i.e. pour votre compte utilisateur spécifique) basé sur ces fichiers. Ceci peut être fait en les copiant du profil global `/etc/xdg/openbox` (applicable à tous les utilisateurs) comme modèle :

    $ mkdir -p ~/.config/openbox
    $ cp -a /etc/xdg/openbox/ ~/.config/

### rc.xml

Astuce: Les raccourcis clavier personnalisés (keybindings) doivent être ajoutés à la section `<keyboard>` de ce fichier, et sous l'intitulé `<!-- Keybindings for running aplications -->`.

`~/.config/openbox/rc.xml` est le fichier de configuration principal, responsable de la détermination du comportement et des paramètres de la session globale, notamment :

- Les raccourcis clavier (par exemple, démarrage des applications ; contrôle du volume)
- Les thèmes
- Les paramètres du bureau et du bureau virtuel, et
- Les paramètres des fenêtres d'application.

Ce fichier est également préconfiguré, ce qui signifie qu'il ne sera nécessaire de modifier le contenu existant que pour personnaliser le comportement en fonction des préférences personnelles.

Note: Les paramètres par application concernant le placement fixe des applications par moniteur ne fonctionneront que si les positions x et y ont également été définies

### menu.xml

`~/.config/openbox/menu.xml` définit le type et le comportement du menu du bureau, accessible par un clic droit sur l'arrière-plan. Bien que le menu fourni par défaut soit un menu statique (ce qui signifie qu'il ne sera pas automatiquement mis à jour lorsque de nouvelles applications seront installées), il est possible d'utiliser des menus dynamiques qui seront également mis à jour automatiquement.

Les options disponibles sont discutées en détail ci-dessous dans la section #Menus.

### Démarrage automatique

`openbox-session` fournit deux mécanismes de démarrage automatique : XDG Autostart (qui ne fonctionne que si python-pyxdg est installé) et le mécanisme de démarrage automatique propre à Openbox.

Le mécanisme de démarrage automatique propre à Openbox :

- sources `/etc/xdg/openbox/environnement`.
- sources `~/.config/openbox/environment`
- exécute `/etc/xdg/openbox/autostart`
- exécute `~/.config/openbox/autostart`.

Les problèmes concernant les commandes dans `~/.config/openbox/autostart` qui sont exécutées dans le désordre (ou carrément sautées) sont souvent résolus par l'ajout de petits délais. Par exemple :

    xset -b
    (sleep 3s && nm-applet) &
    (sleep 3s && conky) &

### environnement

`~/.config/openbox/environment` peut être utilisé pour exporter et définir des variables d'environnement pertinentes, par exemple pour :

- Définir de nouveaux chemins d'accès (par exemple, exécuter des commandes qui, autrement, nécessiteraient de lister l'ensemble des chemins d'accès avec elles).
- Changer les paramètres de langue, et
- Définir d'autres variables à utiliser (par exemple, le correctif pour les thèmes GTK pourrait être listé ici).

### Thèmes

Installez obconf et/ou lxappearance-obconf pour obtenir une interface graphique permettant de configurer les paramètres visuels et les thèmes.

Une bonne sélection de thèmes est disponible dans le paquet openbox-themesAUR ou dans l'AUR. Certains thèmes GTK sont également fournis avec un thème Openbox. Les thèmes spécifiques à Openbox et les thèmes compatibles avec Openbox seront installés dans le répertoire `/usr/share/themes` et seront également immédiatement disponibles pour la sélection.

box-look.org est une source excellente et populaire de thèmes. deviantART.com est une autre excellente ressource. De nombreux autres thèmes peuvent être trouvés en ligne.

#### Modifier ou créer

Astuce: Il est préférable de copier un thème dans votre répertoire personnel plutôt que de modifier ceux qui se trouvent dans `/usr/share/themes/`. Cela permet de conserver l'original en cas de problème et de s'assurer que vos modifications ne seront pas écrasées lors de la mise à jour.

Le processus de création de nouveaux thèmes ou de modification de thèmes existants est traité en détail sur le site officiel openbox.org. obthemeAUR est une interface graphique conviviale pour le faire.

### Configuration de l'interface graphique

Plusieurs applications GUI sont disponibles pour configurer rapidement et facilement votre bureau Openbox.

- ObConf — Un outil de configuration basé sur GTK3 pour le gestionnaire de fenêtres Openbox.

  http://openbox.org/wiki/ObConf:About || obconf

- LXAppearance ObConf — Plugin pour LXAppearance pour configurer Openbox. Notez que toutes les options de configuration d'Openbox ne sont pas disponibles dans ce plugin, vous voudrez probablement installer obconf de toute façon.

  https://lxde.org || lxappearance-obconf

- LXInput — Configuration du clavier et de la souris de LXDE

  https://lxde.org || lxinput

- LXRandR — Configuration des moniteurs de LXDE

  https://lxde.org/ || lxrandr

- obkey — Configuration des raccourcis clavier d'Openbox

  https://code.google.com/p/obkey/ || obkeyAUR

- obapps — Outil graphique permettant de configurer les paramètres des applications dans Openbox

  https://sourceforge.net/projects/obapps/ || obappsAUR

Les programmes et applications relatifs à la configuration du menu de bureau d'Openbox sont abordés dans la section #Menus.

## Reconfiguration d'Openbox

Astuce: lorsqu'elle n'est pas déjà présente, il serait intéressant d'ajouter cette commande à un menu et/ou en tant que raccourci clavier pour plus de commodité.

Openbox ne reflète pas toujours automatiquement les modifications apportées à ses fichiers de configuration au cours d'une session. Par conséquent, il sera nécessaire de recharger manuellement ces fichiers après qu'ils aient été modifiés. Pour ce faire, entrez la commande suivante :

    $ openbox --reconfigure

Si vous avez l'intention d'ajouter cette commande en tant que raccourci clavier à `~/.config/openbox/rc.xml`, il suffira d'indiquer la commande comme `reconfigure`. Un exemple a été fourni ci-dessous, en utilisant le raccourci `Super+F11` :

    <keybind key="W-F11">
      <action name="Reconfigure">
    </keybind>

## Raccourcis clavier

Tous les raccourcis clavier doivent être ajoutés au fichier `~/.config/openbox/rc.xml`, et sous la rubrique `<!-- Keybindings for running aplications -->`. Bien qu'un bref aperçu ait été fourni ici, une explication plus approfondie des raccourcis clavier peut être trouvée à openbox.org.

Les raccourcis clavier peuvent être ajoutés au fichier de configuration en utilisant la syntaxe suivante :

    <keybind key="'my-key-combination">
      <action name="my-action">
        ...
      </action>
    </keybind>

Le nom de l'action pour exécuter une commande externe est Execute. Utilisez la syntaxe suivante pour définir une commande externe à exécuter :

    <action name="Execute">
      <command>ma-commande</command>
    </action>

Consultez le wiki d'Openbox pour obtenir une liste de toutes les actions disponibles.

Astuce: L'utilitaire obkeyAUR fournit une interface graphique pour configurer les raccourcis. Avant d'utiliser obkey, vous devez utiliser obconf pour créer `~/.config/openbox/rc.xml`.

Si l'utilisation de touches alphanumériques standard pour les raccourcis est évidente, des noms spéciaux sont attribués à d'autres types de touches, tels que `modifiers`, `multimedia` and `navigation`.

### Modificateurs

Les touches `modifiers` jouent un rôle important dans les raccourcis (par exemple, maintenir la touche `Shift` ou `Ctrl` en combinaison avec une autre touche pour entreprendre une action). L'utilisation de modificateurs permet d'éviter les raccourcis clavier conflictuels, c'est-à-dire que deux actions ou plus sont liées à la même touche ou combinaison de touches. La syntaxe pour utiliser un modificateur avec une autre touche est la suivante :

    "<modificateur>-<touche>"

Les codes des modificateurs sont les suivants :

- `S` : Shift
- `C` : Ctrl
- `A` : Alt
- `W` : Super
- `M` : Meta
- `H` : Hyper (Si elle est associée à quelque chose)

### Touches multimédia

Lorsqu'elles sont disponibles, il est possible de configurer les touches `multimedia` appropriées pour qu'elles remplissent les fonctions auxquelles elles sont destinées, comme le contrôle du volume et/ou de la luminosité de l'écran. Ces touches sont généralement intégrées aux touches `function` et sont identifiées par leurs symboles appropriés. Consultez Extra keyboard keys pour plus de détails.

Les codes multimédias de volume et de luminosité sont les suivants (notez que des commandes devront leur être assignées pour qu'ils fonctionnent réellement) :

- `XF86AudioRaiseVolume` : Augmente le volume
- `XF86AudioLowerVolume` : Diminuer le volume
- `XF86AudioMute` : Couper / rétablir le volume
- `XF86MonBrightnessUp` : Augmenter la luminosité de l'écran
- `XF86MonBrightnessDown` : Diminuer la luminosité de l'écran

Pour une liste complète des touches multimédia de XF86, consultez LQWiki:XF86 keyboard symbols.

#### Contrôle du volume

Les commandes à utiliser pour contrôler le volume dépendent de l'utilisation de ALSA, PulseAudio ou OSS pour le son.

- ALSA : consultez Advanced Linux Sound Architecture (Français)#Contrôle du volume au clavier.
- PulseAudio : consultez PulseAudio#Keyboard volume control.
- OSS : consultez OSS#Keyboard volume control.

### Touches de navigation

Ce sont les touches directionnelles / flèches, généralement utilisées pour déplacer le curseur vers le haut, le bas, la gauche ou la droite. Les codes de navigation (évidents) sont les suivants :

- `Up` : Haut
- `Down` : Bas
- `Left` : Gauche
- `Right` : Droite

## Menus

Il est possible d'utiliser trois types de menus dans Openbox : `static`, `pipes` (dynamique) et `generators` (statique ou dynamique). Ils peuvent être utilisés seuls ou dans n'importe quelle combinaison.

### Statique

Comme son nom l'indique, ce type de menu par défaut ne change en aucune façon et peut être modifié manuellement et/ou (re)généré automatiquement à l'aide d'un logiciel approprié.

Rapide et efficace, ce type de menu peut être utilisé pour sélectionner des applications, mais il peut également être utile pour accéder à des fonctions spécifiques et/ou effectuer des tâches spécifiques (par exemple, la configuration du bureau), laissant l'accès aux applications à un autre processus (par exemple, les applications synapse ou xfce4-appfinder).

Le fichier `~/.config/openbox/menu.xml` sera la seule source de contenu statique du menu du bureau.

#### menumaker

menumaker génère automatiquement des menus `xml` pour plusieurs gestionnaires de fenêtres, dont Openbox, Fluxbox, IceWM et Xfce. Il recherchera tous les programmes exécutables installés et créera par conséquent un fichier de menu pour eux. Il est également possible de configurer MenuMaker pour exclure certains types d'applications (par exemple, celles relatives à GNOME ou KDE), si vous le souhaitez.

Une fois installé et exécuté, il génère automatiquement un nouveau fichier `~/.config/openbox/menu.xml`. Pour éviter d'écraser un fichier existant, entrez :

    $ mmaker -v OpenBox3

Sinon, pour écraser un fichier existant, ajoutez l'argument `force` (`f`) :

    $ mmaker -vf OpenBox3

Une fois qu'un nouveau fichier `~/.config/openbox/menu.xml` a été généré, il peut être édité manuellement ou configuré à l'aide d'un éditeur de menu GUI, tel que obmenuAUR.

#### obmenu

Attention: `obm-xdg` - un menu pipe pour générer une liste d'applications GTK et GNOME - est également fourni avec obmenu. Cependant, il a des bogues de longue date par lesquels il peut produire une sortie invalide, ou même ne pas fonctionner du tout. Par conséquent, il a été omis de la discussion.

obmenuAUR est une application GUI "conviviale" permettant de modifier `~/.config/openbox/menu.xml`, sans avoir besoin de coder en `xml`.

#### xdg-menu

archlinux-xdg-menu générera automatiquement un menu basé sur les fichiers `xdg` contenus dans le répertoire `/etc/xdg/` pour de nombreux gestionnaires de fenêtres, dont Openbox. Consultez l'article Xdg-menu#OpenBox pour plus d'informations.

#### options du menu de déconnexion

Astuce: Les commandes fournies peuvent également être attachées à des raccourcis clavier.

Le fichier `~/.config/openbox/menu.xml` peut être modifié afin de fournir un sous-menu avec les mêmes options que celles fournies par oblogout. L'exemple de script ci-dessous fournira toutes ces options, à l'exception de la possibilité de verrouiller l'écran :

    <menu id="exit-menu" label="Exit">
    	<item label="Log Out">
    		<action name="Execute">
    			<command>openbox --exit</command>
    		</action>
    	</item>
    	<item label="Shutdown">
    		<action name="Execute">
    			<command>systemctl poweroff</command>
    		</action>
    	</item>
    	<item label="Restart">
    		<action name="Execute">
    		        <command>systemctl reboot</command>
    		</action>
    	</item>
    	<item label="Suspendre">
    		<action name="Execute">
    		        <command>systemctl suspend</command>
    		</action>
    	</item>
    	<item label="Hibernate">
    		<action name="Execute">
    		        <command>systemctl hibernate</command>
    		</action>
    	</item>
    </menu>

Une fois les entrées composées, ajoutez la ligne suivante pour présenter le sous-menu à l'endroit souhaité dans le menu principal du bureau (généralement comme dernière entrée) :

    <menu id="exit-menu"/>

### Pipes

Astuce: Il est tout à fait possible qu'un menu statique contienne un ou plusieurs sous-menus pipe. La fonctionnalité de certains menus pipe peut également dépendre de l'installation de progiciels pertinents.

Ce type de menu est essentiellement un script qui fournit des listes dynamiques et actualisées à la volée au fur et à mesure de son exécution. Ces listes peuvent être utilisées à des fins multiples, notamment pour répertorier des applications, fournir des informations et des fonctions de contrôle. Des menus pipe préconfigurés peuvent être installés, mais pas à partir des dépôts officiels. Les utilisateurs plus expérimentés peuvent également modifier et/ou créer leurs propres scripts personnalisés. Là encore, `~/.config/openbox/menu.xml` peut contenir et contiendra généralement plusieurs menus pipe.

#### Exemples

- openbox-xdgmenuAUR : convertisseur rapide de xdg-menu en xml-pipe-menu
- obfilebrowserAUR : Navigateur d'applications et de fichiers
- obdevicemenuAUR : Gestion des supports amovibles avec Udisks.
- wifi pipe menu : Réseau sans fil avec Netctl.

Openbox.org fournit également une autre liste de menus pipe.

### Générateurs

Ce type de menu s'apparente à ceux fournis par les barres de tâches des environnements de bureau tels que Xfce ou LXDE. Se mettant automatiquement à jour à la volée, ce type de menu peut être puissant et très pratique. Il peut également être possible d'ajouter des catégories et des entrées de menu personnalisées ; lisez la documentation de votre menu dynamique pour déterminer si et comment cela peut être fait.

Un générateur de menu devra être exécuté à partir du fichier `~/.config/openbox/menu.xml`.

#### obmenu-generator

Astuce: les icônes peuvent toujours être désactivées dans obmenu-generatorAUR, même si elles sont activées dans `~/.config/openbox/rc.xml`.

obmenu-generatorAUR est fortement recommandé bien qu'il s'agisse d'un paquet non officiel. Avec la possibilité d'être utilisé comme un menu statique ou dynamique, il est hautement configurable, puissant et polyvalent. Les catégories de menu et les entrées individuelles peuvent également être facilement cachées, personnalisées et/ou ajoutées. Le site officiel fournit de plus amples informations et des captures d'écran.

Vous trouverez ci-dessous un exemple d'exécution dynamique d'obmenu-generator sans icônes dans `~/.config/openbox/menu.xml` :

    <?xml version="1.0" encoding="utf-8"?>
    <openbox_menu>
        <menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator">
        </menu>
    </openbox_menu>

Pour iconifier automatiquement les entrées, on ajouterait l'option `-i` :

    <menu id="root-menu" label="OpenBox 3" execute="/usr/bin/obmenu-generator -i">

#### openbox-menu

Astuce: Si ce menu produit une erreur, celle-ci peut être résolue en activant les icônes dans `~/.config/openbox/rc.xml`.

openbox-menuAUR utilise le cache de menu de LXDE. menu-cache pour créer des menus dynamiques. La page officielle fournit des informations supplémentaires et des captures d'écran.

### Icônes de menu

Pour afficher des icônes à côté des entrées de menu, il faudra s'assurer qu'elles sont activées dans la section `<menu>` du fichier `~/.config/openbox/rc.xml` :

    <showIcons>yes</showIcons>

En cas d'utilisation d'un menu statique, il sera alors nécessaire de modifier le fichier `~/.config/openbox/menu.xml` pour fournir à la fois la commande `icon =`, ainsi que le chemin complet et le nom de l'icône pour chaque entrée. Voici un exemple de la syntaxe utilisée pour fournir une icône pour une catégorie :

    <menu id="apps-menu" label="[nom du label]" icon="[chemin d'accès à l'icône]/[nom de l'icône]">

### Menu du bureau en tant que menu de panneau

Astuce: XDoTool peut simuler n'importe quelle combinaison de touches pour n'importe quelle action, et en tant que tel, il peut donc être utilisé à de nombreuses autres fins...

xdotool est un paquet qui peut émettre des commandes pour simuler des pressions de touches / des raccourcis, ce qui signifie qu'il est possible de l'utiliser pour invoquer des actions liées à des raccourcis sans avoir à appuyer sur les touches qui leur sont assignées. Comme cela inclut la possibilité d'invoquer un raccourci clavier assigné pour le menu du bureau Openbox, il est donc possible d'utiliser XDoTool pour transformer le menu du bureau Openbox en un menu de panneau. En particulier lorsque le menu du bureau est fortement personnalisé et riche en fonctionnalités, cela peut s'avérer très utile pour :

- Remplacer un menu panneau existant
- Implémenter un menu panneau là où ce n'est pas prévu ou possible (par exemple pour Tint2)
- Compenser la perte d'accès au menu du bureau due à l'utilisation d'une application comme xfdesktop pour gérer le bureau.

Une fois XDoTool installé - s'il n'est pas déjà présent - il sera nécessaire de créer un raccourci pour accéder au menu racine dans `~/.config/openbox/rc.xml`, et encore sous l'en-tête `<!-- Keybindings for running aplications -->`. Par exemple, le code suivant fera apparaître le menu en appuyant sur `Ctrl+m` :

    <keybind key="C-m">
        <action name="ShowMenu">
           <menu>menu racine</menu>
        </action>
    </keybind>

Openbox doit ensuite être reconfiguré. Dans ce cas, XDoTool sera utilisé pour simuler la combinaison `Ctrl+m` pour accéder au menu du bureau avec la commande suivante (notez l'utilisation de `+` à la place de `-`) :

    xdotool key control+m

La façon dont cette commande peut être utilisée en tant que lanceur de panneau / icône dépend largement des caractéristiques du panneau utilisé. Alors que certains panneaux permettent d'exécuter la commande ci-dessus directement lors du processus de création d'un nouveau lanceur, d'autres peuvent nécessiter l'utilisation d'un script exécutable. Par exemple, un script exécutable personnalisé appelé `obpanelmenu.sh` sera créé dans le répertoire `~/.config` et la commande XDoTool appropriée sera ajoutée au fichier (pour simuler la pression des touches `Ctrl+m` dans cet exemple) :

    ~/.config/obpanelmenu.sh

    xdotool key control+m

Une fois que le fichier a été enregistré et fermé, il peut être transformé en script exécutable.

L'exécuter fera apparaître le menu du bureau Openbox. Par conséquent, si vous utilisez un panneau qui prend en charge la fonctionnalité de glisser-déposer pour ajouter de nouveaux lanceurs, faites simplement glisser le script exécutable sur celui-ci avant de modifier l'icône selon vos goûts personnels.

### Menu conforme à XDG

Un menu conforme à la norme XDG est basé sur la norme freedesktop.org. Le menu est défini dans des fichiers de menu qui résident dans `/etc/xdg/menus`. Les nouvelles applications apparaîtront automatiquement dans le menu.

#### Exemple

Le paquet archlinux-menusAUR fournit un menu conforme à XDG spécifique à Arch Linux.

## Trucs et astuces

### Thèmes de curseurs et d'icônes

Voir Cursor themes et Icons pour plus de détails.

### Icônes et fonds d'écran du bureau

Openbox ne gère pas nativement l'utilisation d'icônes de bureau ou de fonds d'écran.

Voir PCManFM, SpaceFM et Idesk.

{Vous devrez peut-être modifier `~/.conkyrc` et définir `own_window_type` sur `normal`.}}

Voir List of applications#Wallpaper setters.

### Effets de composition

Openbox ne fournit pas de prise en charge native pour la composition, et nécessite donc un compositeur externe à cet effet.

Bien que le compositeur ne soit pas un composant nécessaire, il peut spécifiquement éviter des problèmes tels que la distorsion de l'écran avec oblogout, et des problèmes visuels avec la transparence des fenêtres de terminal. Voir Xorg (Français)#Liste des gestionnaires de composites pour les choix courants.

### oblogout

Voir l'article Oblogout pour un aperçu de l'utilisation de ce script de déconnexion graphique utile.

### Lancer une commande complexe avec un raccourci clavier

Si vous devez exécuter une commande complexe, utilisez la fonctionnalité du shell.

Lorsque vous écrivez vos propres scripts, assurez-vous d'échapper les caractères spéciaux xml, tels que "`&`" ("&amp ;"), "`<`" ("&lt ;"), "`>`" ("&gt ;") et autres (voir plus en détail sur Entités prédéfinies en XML).

Cet exemple éteint immédiatement l'écran et le verrouille avec slock. Il a été repris de cette discussion.

     <keybind key="W-l">
       <action name="Execute">
         </commande>sh -c 'slock &amp ; (sleep .5 &amp;&amp ; xset dpms force off)'</commande>
       </action>
     </keybind>

Parfois, on a besoin de spécifier une variable d'environnement pour l'application :

     <keybind key="A-F7">
       <action name="Execute">
         <command>sh -c "LC_ALL=C obconf"</command>
       </action>
     </keybind>

Un autre exemple lancera l'application en préservant toutes les sorties stdout et stderr dans un fichier :

     <keybind key="A-f">
       <action name="Execute">
         <command>sh -c sh -c "exec gimp &gt;/tmp/gimp.out 2&gt;&amp;1"</command>.
       </action>
     </keybind>

Activez la capture d'écran :

     <keybind key="Print">
       <action name="Execute">
         <command>gnome-screenshot -c</command>
       </action>
     </keybind>
     <keybind key="A-Print">
       <action name="Execute">
         <command>gnome-screenshot -c -w</command>
       </action>
     </keybind>
     <keybind key="W-Print">
       <action name="Execute">
         <command>gnome-screenshot -i</command>
       </action>
     </keybind>

### Lanceurs d'applications

Étant donné l'absence d'un environnement de bureau avec une installation Openbox simple, il peut être utile d'installer un ou plusieurs lanceurs d'applications en complément du système de menu Openbox et des touches de raccourci. Des listes de tels lanceurs peuvent être trouvées à Category:Application launchers et List of applications/Other#Application launchers ; des exemples populaires sont Gmrun et dmenu.

### Changer de bureau à l'aide de la souris

Il est possible de changer de bureau en déplaçant le curseur de la souris vers les bords de l'écran. Installez d'abord xdotool et ajoutez les deux lignes suivantes à votre `~/.xinitrc` :

    xdotool behave_screen_edge --delay 500 left set_desktop --relative -- -1 &
    xdotool behave_screen_edge --delay 500 right set_desktop --relative -- +1 &

### Définir les applications par défaut / associations de fichiers

Voir l'article Default applications.

### Transparence des fenêtres ad-hoc

Attention: Ceci peut ne pas fonctionner lorsque d'autres actions sont définies dans le groupe d'actions.

Le programme transset-dfAUR peut activer la transparence des fenêtres à la volée.

Par exemple, l'utilisation du code suivant dans la section `<mouse>` du fichier `~/.config/openbox/rc.xml` permettra de contrôler la transparence des fenêtres de l'application en faisant passer le pointeur de la souris sur la barre de titre et en faisant défiler avec le bouton du milieu :

    <context name="Titlebar">
        ...
        <mousebind button="Up" action="Click">
            <action name="Execute" >
            <execute>transset-df -p .2 --inc </execute>
            </action>
        </mousebind>
        <mousebind button="Down" action="Click">
            <action name="Execute" >
            <execute>transset-df -p .2 --dec </execute>
            </action>
        </mousebind>
        ...
    </context>

### Utilisation de obxprop pour une configuration plus rapide

Le paquet openbox fournit un binaire `obxprop` qui peut analyser les valeurs pertinentes pour les paramètres des applications dans `rc.xml`. Officiellement, `obxprop | grep "^_OB_APP"` est recommandé pour cette tâche. Lancez le processus en exécutant la commande indiquée, puis cliquez sur une fenêtre pour voir ses propriétés dans le terminal.

### Valeurs Xprop pour les applications

xorg-xprop peut être utilisé pour relayer les valeurs des propriétés pour les applications sélectionnées. Lorsque vous utilisez fréquemment des paramètres par application, l'alias bash suivant peut être utile :

    alias xp='xprop | grep "WM_WINDOW_ROLE\|WM_CLASS" && echo "WM_CLASS(STRING) = \"NAME\", \"CLASS\"".

Pour utiliser Xorg-XProp, exécutez en utilisant l'alias donné `xp`, et cliquez sur le programme actif que vous souhaitez définir avec des paramètres par application. Les résultats affichés seront uniquement les informations dont Openbox a besoin, à savoir les valeurs `WM_WINDOW_ROLE` et `WM_CLASS` (nom et classe) :

    WM_WINDOW_ROLE(STRING) = "roster".
    WM_CLASS(CHIFFRE) = "gajim.py", "Gajim.py".
    WM_CLASS(STRING) = "NAME", "CLASS" (NOM)

### Passage d'une disposition de clavier à une autre

Voir la section de l'article passage d'une disposition de clavier à une autre pour les instructions.

### Définir la disposition de la grille pour les bureaux virtuels

Installez obsetlayoutAUR. Pour définir une grille 2x2 par exemple :

    obsetlayout 0 2 2 0

Exécutez-le sans arguments pour savoir ce que signifient les arguments.

### Activer les coins actifs

lead-gitAUR fournit des coins actifs pour openbox et d'autres gestionnaires de fenêtres légers. Démarrez l'application avec une entrée dans le fichier autostart :

    lead &

Les commandes peuvent être éditées dans le fichier de configuration `~/.config/lead/lead.conf` (remplacez `eDP1` par le nom de votre sortie écran, que vous pouvez trouver en utilisant xrandr) :

    [eDP1]
    bottom=
    bottomLeft=chromium
    bottomRight=thunar
    left=
    right=
    top=
    topLeft=mlde.californium toggle
    topRight=skippy-xd

Pour plus d'informations, voir [2].

### L'ancrage des fenêtres

De nombreux environnements de bureau et gestionnaires de fenêtres supportent l'ancrage des fenêtres (par exemple «Aero snap» sous Windows 7), par lequel les fenêtres se mettent automatiquement en place lorsqu'elles sont déplacées vers le bord de l'écran. Cet effet peut également être simulé dans Openbox par l'utilisation de raccourcis sur les fenêtres focalisées.

Comme l'illustre l'exemple ci-dessous, des pourcentages doivent être utilisés pour déterminer la taille des fenêtres (voir openbox.org pour plus d'informations). Dans ce cas, la touche `super` est utilisée conjointement avec les touches `navigation` :

    <keybind key="W-Left">
        <action name="Unmaximize"/>
        <action name="MaximizeVert"/>
        <action name="MoveResizeTo">
            <width>50%</width>
        </action>
        <action name="MoveToEdge"><direction>west</direction></action>
    </keybind>
    <keybind key="W-Right">
        <action name="Unmaximize"/>
        <action name="MaximizeVert"/>
        <action name="MoveResizeTo">
            <width>50%</width>
        </action>
        <action name="MoveToEdge"><direction>east</direction></action>
    </keybind>

Cependant, il convient de noter qu'une fois qu'une fenêtre a été 'ancrée' à un bord, elle restera maximisée verticalement à moins d'être maximisée ultérieurement puis restaurée. La solution consiste à implémenter des raccourcis clavier supplémentaires - dans ce cas, en utilisant les touches `down` et `up` - pour ce faire. Cela rendra également plus rapide la traction des fenêtres 'ancrées' depuis les bords de l'écran :

    <keybind key="W-Down">
       <action name="Unmaximize">
    </keybind>
    <keybind key="W-Up">
       <action name="Maximize">
    </keybind>

Ce discussion sur le forum Ubuntu fournit plus d'informations. Des applications telles que opensnapAUR sont également disponibles pour simuler automatiquement le comportement d'ancrage des fenêtres sans utiliser de keybind. Une autre option est d'utiliser bunsen-utilities-gitAUR qui fournit les commandes `bl-aerosnap --left` et `bl-aerosnap --right` qui ancreront la fenêtre active sur le bord gauche ou droit respectivement si elle n'est pas ancrée et la restaureront à sa taille et position originales sinon. Il suffit d'associer ces commandes à la combinaison de touches de votre choix.

### Transition en douceur du gestionnaire d'affichage

Note: Il a été confirmé que cela fonctionne avec LightDM.

Les utilisateurs de gestionnaires d'écran peuvent rencontrer un scintillement pendant la transition entre le gestionnaire d'écran et le bureau Openbox. Ce scintillement est dû au fait qu'Openbox définit la couleur de la fenêtre racine lors du démarrage. Il y a donc un bref moment où l'affichage clignote dans une couleur grise, entre l'arrière-plan du gestionnaire d'affichage et le fond d'écran du bureau.

Il est possible de désactiver le réglage de la couleur de fond de la fenêtre racine en modifiant le script de démarrage d'Openbox qui se trouve dans `/usr/lib/openbox/openbox-autostart`. Il suffit de commenter (ou de supprimer) le bloc commençant par `# Set a background color`.

Note: Les utilisateurs qui ne définissent pas spécifiquement leur fond d'écran "hériteront" automatiquement du fond du gestionnaire d'affichage s'ils désactivent le réglage de la couleur de la fenêtre racine.

### Décorations de fenêtres

Pour supprimer les décorations de fenêtres pour toutes ou certaines applications, utilisez l'option <decor> dans la section <applications> de rc.xml (utilisateur : ~/.config/openbox/ ou système : /etc/xdg/openbox/).
Exemple pour Firefox, y compris les variantes comme Firefox-Beta et Firefox-Nightly :

     <application class="Firefox*">
       <decor>no</decor>
     </application>

On pourrait également désactiver les décorations pour toutes les applications (en utilisant la classe "*"), puis les activer (en utilisant yes) pour les applications individuelles. Pour appliquer les changements, redémarrez votre session de bureau, et donc Openbox. Reference: FAQ Openbox

## Dépannage

### Firefox

Les navigateurs basés sur Mozilla peuvent ignorer les règles d'application (par exemple, `<desktop>`), sauf si `class="Firefox"` est utilisé. Voir #Valeurs Xprop pour les applications.

### Thèmes manquants

Si, pour une raison quelconque, le thème nouvellement extrait ne peut être sélectionné, ouvrez le répertoire du thème pour vous assurer qu'il est compatible avec Openbox - il devrait y avoir un répertoire `openbox-3` et un fichier `themerc` à l'intérieur. Un fichier `.obt` (OpenBox Theme) peut également être présent dans certains cas, qui peut alors être chargé manuellement dans obconf.

Un thème peut également ne pas être accessible en raison de mauvaises permissions. Voir File permissions and attributes pour en savoir plus.

### Arrêter la bascule continue des bureaux

Par défaut, Openbox bascule du dernier bureau vers le premier bureau lors du défilement de la molette de la souris. Utilisez `<wrap>no</wrap>` dans la section `mousebind` pour désactiver ce comportement.

       <context name="Desktop">
         <mousebind button="Up" action="Click">
           <action name="GoToDesktop">
             <to>previous</to>
             <wrap>no</wrap>
           </action>
         </mousebind>
         <mousebind button="Down" action="Click">
           <action name="GoToDesktop">
             <to>next</to>
             <wrap>no</wrap>
           </action>
         </mousebind>
       </context>

### Les fenêtres se chargent derrière la fenêtre active

Certaines fenêtres d'application (telles que les fenêtres Firefox) peuvent se charger derrière la fenêtre actuellement active, vous obligeant à passer à la fenêtre que vous venez de créer pour l'avoir au premier plan. Pour corriger ce comportement, ajoutez ceci à votre fichier `~/.config/openbox/rc.xml`, entre les balises `<openbox_config>` et `</openbox_config>` :

    <applications>
      <application class="*">
        <focus>yes</focus>
      </application>
    </applications>

## Voir aussi

- Openbox Website - Site web officiel
- Box-Look.org - Une bonne ressource pour les thèmes et les œuvres d'art connexes.
- Openbox Hacks and Configs Thread (Fil de discussion sur les bidouillages et les configurations d'Openbox) @ Forums Arch Linux
- Openbox Screenshots Thread @ Arch Linux Forums
- Un guide Openbox

Category:

- Stacking WMs (Français)