# Openbox

Openbox est un gestionnaire de fenêtres pour le système X Window. Il est distribué sous licence GPL.
Openbox est conçu pour être petit, rapide et entièrement compatible avec le ICCCM et le Extended Window Manager Hints (en). Il supporte de nombreuses fonctionnalités comme les menus d'applications ou l'affichage dynamique de différentes informations.
Son principal avantage est son extrême légèreté, qui favorise stabilité et réactivité du système, et pas seulement sur des machines peu puissantes.
Son interface très simple rend son utilisation très facile. Par contre son paramétrage peut être technique, surtout si on passe directement par les fichiers de configuration et non par des programmes comme obmenu, obconf et lxappearance.

## Principes de base de l'interface

Openbox fait partie des gestionnaires de fenêtres les plus paramétrables.
L'interface de base est minimaliste et basée sur la souris. Elle offre les fonctions nécessaires pour interagir avec l'ordinateur :
* clic droit sur le fond d'écran: menu des applications installées, et liste des bureaux,
* clic molette sur le fond d'écran : fait apparaître une barre de tâche flottante (le raccourci clavier "Alt+Tab" donne une fonctionnalité similaire de basculement entre les programmes ouverts),
* faire rouler la molette sur le fond d'écran : changement de bureau.
Après configuration, toutes les fonctions peuvent être gérée avec des raccourcis claviers.

### Compatibilité avec d'autres environnement de bureau

Openbox ne gère ni la barre des tâches, ni le bureau et ses icônes, ni le papier peint, ni les services de préférence présent dans Gnome et KDE. Cependant, il est très facile de l'utiliser avec ces derniers et peut être complété par les programmes suivants :
* Barre des tâches : lxpanel, tint2....
* Changer le fond d'écran : Openbox ne gère pas les papiers peints. On peut par contre changer la couleur de fond d'écran (xsetroot), ou encore ajouter un gestionnaire de papiers peints (comme feh ou nitrogen).
* Bureau : pcmanfm, bureau gnome... étant donné que le bureau remplace le fond d'écran, il faut configurer un accès au menu alternatif dans la barre des tâches (à l'instar de LXDE) ou en raccourcis clavier. Pour s'assurer qu'on aura toujours accès au fond d'écran, même avec des fenêtres maximisées, on peut définir une marge d'un pixel autour de l'écran (ou sur un bord de l'écran seulement). En poussant la souris jusqu'au bord de l'écran, on peut alors cliquer sur le fond d'écran, même si celui-ci ne se voit pas (1 px). Cette configuration peut se faire simplement via un utilitaire très utilisé avec openbox : obconf (onglet "marges").
* Lanceur d'application : dmenu, xfce4-appfinder, launchy
* Gestionnaire de préférences : gnome-settings-deamon
Openbox est par ailleurs utilisé (ou utilisable) dans de nombreux environnements de bureau : LXDE, LXQt, KDE, Gnome

## Configuration

ntOpenbox utilise seulement 3 fichiers de configuration situés dans ~/.config/openbox : menu.xml, rc.xml et autostart.sh.
Si l'utilisateur ne souhaite pas les éditer et les modifier directement, la plus grande part de ce qu'ils configurent peut-être réalisée avec trois outils graphiques :
* obconf : gestion de l'apparence et des thèmes,
* lxappearance : plus d'options pour la gestion de l'apparence et des thèmes,
* Obmenu : configurer le menu des applications (menu accessible via le clic droit sur le fond de bureau),
* lxhotkey ou obkey : les raccourcis claviers.
En dehors de ce que gèrent ces programmes, d'autres options plus avancées peuvent être choisies, mais elles nécessitent de passer par la configuration directe dans les fichiers système (assez simple, cependant). On peut ainsi définir :
* les actions de la souris,
* les programmes à lancer au démarrage (que l'on spécifie en éditant le fichier autostart.sh).
Un exemple de ce qu'on peut paramétrer via les fichiers openbox : faire en sorte qu'une fenêtre aille sur le troisième bureau lorsqu'on clique sur le bouton « fermer » (la croix) avec le bouton du milieu.

## Spécificités
### Menus

Le système de menus d'Openbox peut utiliser des menus dynamiques. Cela est fait en acceptant la sortie d'un script et en utilisant cette sortie comme la « source » du menu. Chaque fois que l'utilisateur pointe sa souris sur le sous-menu, le script est appelé et le sous-menu réactualisé.

### Raccourcis claviers

Le système de raccourcis claviers d'Openbox permettent :
* d'intégrer des dialogues de confirmation
* plusieurs niveaux de raccourcis claviers à l'instar de l'éditeur Emacs
* de régler précisément le placement des fenêtres

## Diffusion

Openbox est utilisé comme gestionnaire de fenêtre par l'environnement de bureau LXDE, qui lui ajoute une interface plus classique via entre autres choses une barre de tâche : lxpanel, ainsi que de nombreux utilitaires (lxterminal...).
Openbox est utilisé comme gestionnaire de fenêtre par la distribution BunsenLabs Linux, très stable et légère (BunsenLabs Linux is a distribution offering a light-weight and easily customizable Openbox desktop.).

## Historique

Au départ, Openbox était un fork de Blackbox (en). Mais depuis la version 3.0, il a été totalement réécrit en langage C et il ne s'appuie plus sur aucun code de Blackbox.