Table des matières

Fichiers de configuration pour Openbox

Cette page propose trois exemples de fichiers de configuaration pour Openbox. Vous pouvez les adapter à vos besoins.

rc.xml

Voici un exemple de fichier rc.xml, très complet et commenté en français (dont vous pourrez vous inspirer pour établir le votre). FIXME Traduction de la fin du fichier en cours

rc.xml
<?xml version="1.0" encoding="UTF-8"?>
<!-- Copier ce fichier dans $HOME/.config/openbox/ -->
<openbox_config xmlns="http://openbox.org/3.4/rc">
  <!-- ################################################## -->
  <!-- # Résistance aux bords de fenêtres/d'écrans (px) # -->
  <!-- ################################################## -->
  <resistance>
    <strength>20</strength>
    <screen_edge_strength>20</screen_edge_strength>
  </resistance>
  <!-- ################################################## -->
  <!-- # Suivi de focus                                 # -->
  <!-- ################################################## -->
  <focus>
    <focusNew>yes</focusNew>
    <!-- Donner le focus aux nouvelles fenêtres quand elles apparaissent (booléen) -->
    <followMouse>yes</followMouse>
    <!-- Donner le focus aux fenêtres lorsque le pointeur les survole (booléen) -->
    <focusDelay>800</focusDelay>
    <!-- Si followMouse='yes', délai avant de donner le focus et rehausser les fenêtres (ms) (1000 = 1 sec) -->
    <focusLast>yes</focusLast>
    <!-- Placer le focus sur la dernière fenêtre lors d'un basculement de bureau (booléen)
           (si focusLast='no', focus sous le pointeur)-->
    <underMouse>no</underMouse>
    <!-- Placer le focus en-dessous du pointeur quand celui-ci ne bouge pas -->
    <raiseOnFocus>yes</raiseOnFocus>
    <!-- Si followMouse='yes', rehausser les fenêtres lorsque le pointeur est dessus -->
  </focus>
  <!-- ################################################## -->
  <!-- # Placement                                      # -->
  <!-- ################################################## -->
  <placement>
    <policy>Smart</policy>
    <!-- Méthode de placement des fenêtres, 'Smart' (intelligent) ou 'UnderMouse' (sous le pointeur) -->
    <center>yes</center>
    <!-- Si policy='smart', centrer les nouvelles fenêtres quand elles apparaissent (booléen) -->
    <monitor>Any</monitor>
    <!-- Si policy='smart', placer les nouvelles fenêtres de préférence:
          'Any'    (sur tous les moniteurs)
          'Mouse'  (sur le moniteur ou se trouve le pointeur)
          'Active' ( sur le moniteur actif)-->
  </placement>
  <!-- ################################################## -->
  <!-- # Thème                                          # -->
  <!-- ################################################## -->
  <theme>
    <name>ubuntustudio</name>
    <titleLayout>NDLIMC</titleLayout>
    <!-- Ordre des boutons (les fenêtres doivent contenir au moins un bouton):
          'N' (icône de la fenêtre)
          'L' (titre).
          'I' (minimiser)
          'M' (maximiser)
          'C' (fermer)
          'S' (enrouler)
          'D' (épinglé sur tout les bureaux)  -->
    <keepBorder>yes</keepBorder>
    <!-- Les fenêtres sans décoration conservent une bordure (booléen) -->
    <animateIconify>yes</animateIconify>
    <!-- Animer le réductions/restaurations (booléen) -->
    <!-- ################################################## -->
    <!-- # Polices                                        # -->
    <!-- ################################################## -->
    <font place="ActiveWindow">
      <name>Sans</name>
      <size>10</size>
      <weight>Normal</weight>
      <slant>Normal</slant>
    </font>
    <!-- Titre de fenêtre active (weight='Bold' ou 'Normal'/slant='Italic' ou 'Normal') -->
    <font place="InactiveWindow">
      <name>Sans</name>
      <size>10</size>
      <weight>Normal</weight>
      <slant>Normal</slant>
    </font>
    <!-- Titre de fenêtre inactive (weight='Bold' ou 'Normal'/slant='Italic' ou 'Normal') -->
    <font place="MenuHeader">
      <name>Sans</name>
      <size>10</size>
      <weight>Normal</weight>
      <slant>Normal</slant>
    </font>
    <!-- En-tête du menu (weight='Bold' ou 'Normal'/slant='Italic' ou 'Normal') -->
    <font place="MenuItem">
      <name>Sans</name>
      <size>10</size>
      <weight>Normal</weight>
      <slant>Normal</slant>
    </font>
    <!-- Éléments du menu (weight='Bold' ou 'Normal'/slant='Italic' ou 'Normal') -->
    <font place="OnScreenDisplay">
      <name>Sans</name>
      <size>9</size>
      <weight>Normal</weight>
      <slant>Normal</slant>
    </font>
    <!-- Affichages à l'écran (weight='Bold' ou 'Normal'/slant='Italic' ou 'Normal') -->
  </theme>
  <desktops>
    <!-- ################################################## -->
    <!-- # Bureaux                                        # -->
    <!-- ################################################## -->
    <!-- Ces paramètres ne sont utilisé qu'au démarrage, vous pouvez les modifier via
          votre pager en cours de session.
          Ce sont des valeurs par défaut qui ne seront utilisées que si aucune autre
          n'est paramétrée par une application tierce, ou sauvegardée dans la session.
          Utilisez obconf si vous souhaitez modifier ces paramètres sans avoir besoin
          de se déconnecter/reconnecter. -->
    <number>3</number>
    <firstdesk>1</firstdesk>
    <names>
      <name>base</name>
      <name>prod</name>
      <name>system</name>
    </names>
    <!-- Noms des bureaux ('noms persos') -->
    <popupTime>875</popupTime>
    <!-- Durée d'affichage de la notification de changement de bureau (ms) (1000 = 1 sec)
         Si popupTime=0, pas de notification -->
  </desktops>
  <!-- ################################################## -->
  <!-- # Redimensionnement                              # -->
  <!-- ################################################## -->
  <resize>
    <drawContents>yes</drawContents>
    <!-- Afficher le contenu de la fenêtre lors du redimensionnement (booléen) -->
    <popupShow>Nonpixel</popupShow>
    <!-- Zone de notification dimension de la fenêtre:
          'Always'   (toujours)
          'Never'    (jamais)
          'Nonpixel' (pour les consoles seulement) -->
    <popupPosition>Top</popupPosition>
    <!-- Position de la notification (si popupShow='Always' ou 'Nonpixel'):
          'Center' (centrée)
          'Top'    (en haut)
          'Fixed'  (personalisé)-->
    <popupFixedPosition>
      <x>10</x>
      <y>10</y>
      <!-- Si popupPosition='Fixed', entrer une valeur (px) positive pour placer la notification
           au dessus de la fenêtre, négative pour la placer en-dessous, ou 'Center' pour la
           centrer -->
    </popupFixedPosition>
  </resize>
  <!-- ################################################## -->
  <!-- # Marges                                         # -->
  <!-- ################################################## -->
  <margins>
    <top>0</top>
    <bottom>0</bottom>
    <left>0</left>
    <right>0</right>
    <!-- Definir une marge sur un bord d'écran, que les fenêtres maximisées ne pourront pas
           recouvrir (px) -->
  </margins>
  <!-- ################################################## -->
  <!-- # Dock                                           # -->
  <!-- ################################################## -->
  <dock>
    <position>TopLeft</position>
    <!-- Position du dock (px) (ex. 'TopLeft'):
        'Top'      (haut)
        'Bottom'   (bas)
        'Left'     (gauche)
        'Right     (droite)
        'Floating' (flottante) -->
    <floatingX>0</floatingX>
    <floatingY>0</floatingY>
    <!-- Si position='Floating', indiquer la posistion (px) -->
    <direction>Vertical</direction>
    <!-- Orientation du dock ('Vertical' ou 'Horizontal') -->
    <noStrut>no</noStrut>
    <!-- ??? (booléen) -->
    <stacking>Above</stacking>
    <!-- Garder le dock au dessus des autres fenêtres 'Above', 'Normal', ou 'Below' -->
    <autoHide>no</autoHide>
    <!-- Masquer automatiquement (booléen) -->
    <hideDelay>300</hideDelay>
    <!-- Si autoHide='yes', délai de masquage (ms) (1000 = 1 second) -->
    <showDelay>300</showDelay>
    <!-- Si autoHide='yes', délai d'affichage (ms) (1000 = 1 second) -->
    <moveButton>Middle</moveButton>
    <!-- ??? 'Left', 'Middle', 'Right' -->
  </dock>
  <!-- ################################################## -->
  <!-- # Raccourcis clavier                             # -->
  <!-- ################################################## -->
  <!-- Editer/personnaliser les raccourcis clavier en utilisant la syntaxe suivante:
          'C' (ctrl), 'A' (alt), 'S' (maj), 'C' (ctrl), 'W' (win/super), 'Tab' (tab)
          'Up/Down/Left/Right' (flèches), 'Space' (espace), 'Escape' (echap), 'Print' (impécr)
          'F1-9' (touches F), 'a-z' (lettres)
           dialog = ??? (booléen)
           wrap = ??? (booléen)
          Exemple:
		    <keybind key="[touche]-[touche]">
		      <action name="[action]">
		        <dialog>[yes/no]</dialog>
		        <wrap>[yes/no]</wrap>
		      </action>
		    </keybind> -->
  <keyboard>
    <chainQuitKey>C-g</chainQuitKey>
    <!-- Raccourcis pour le changement de bureau -->
    <keybind key="C-A-Left">
      <action name="DesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Right">
      <action name="DesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Up">
      <action name="DesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="C-A-Down">
      <action name="DesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Left">
      <action name="SendToDesktopLeft">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Right">
      <action name="SendToDesktopRight">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Up">
      <action name="SendToDesktopUp">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="S-A-Down">
      <action name="SendToDesktopDown">
        <dialog>no</dialog>
        <wrap>no</wrap>
      </action>
    </keybind>
    <keybind key="W-F1">
      <action name="Desktop">
        <desktop>1</desktop>
      </action>
    </keybind>
    <keybind key="W-F2">
      <action name="Desktop">
        <desktop>2</desktop>
      </action>
    </keybind>
    <keybind key="W-F3">
      <action name="Desktop">
        <desktop>3</desktop>
      </action>
    </keybind>
    <keybind key="W-F4">
      <action name="Desktop">
        <desktop>4</desktop>
      </action>
    </keybind>
    <keybind key="W-d">
      <action name="ToggleShowDesktop"/>
    </keybind>
    <!-- Raccourcis des fenêtres -->
    <keybind key="A-F4">
      <action name="Close"/>
    </keybind>
    <keybind key="A-Escape">
      <action name="Lower"/>
      <action name="FocusToBottom"/>
      <action name="Unfocus"/>
    </keybind>
    <keybind key="A-space">
      <action name="ShowMenu">
        <menu>client-menu</menu>
      </action>
    </keybind>
    <keybind key="W-S-o">
      <action name="SendToTopLayer"/>
    </keybind>
    <keybind key="W-Right">
      <action name="GrowToEdgeEast"/>
    </keybind>
    <keybind key="W-Left">
      <action name="GrowToEdgeWest"/>
    </keybind>
    <keybind key="W-Down">
      <action name="GrowToEdgeSouth"/>
    </keybind>
    <keybind key="W-Up">
      <action name="GrowToEdgeNorth"/>
    </keybind>
    <keybind key="W-S-f">
      <action name="ToggleFullscreen"/>
    </keybind>
    <keybind key="W-S-m">
      <action name="ToggleMaximizeFull"/>
    </keybind>
    <keybind key="W-S-F1">
      <action name="SendToDesktop">
        <desktop>1</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F2">
      <action name="SendToDesktop">
        <desktop>2</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F3">
      <action name="SendToDesktop">
        <desktop>3</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <keybind key="W-S-F4">
      <action name="SendToDesktop">
        <desktop>4</desktop>
        <follow>yes</follow>
      </action>
    </keybind>
    <!-- Raccourcis pour le changement de fenêtre -->
    <keybind key="A-Tab">
      <action name="NextWindow"/>
    </keybind>
    <keybind key="A-S-Tab">
      <action name="PreviousWindow"/>
    </keybind>
    <keybind key="C-A-Tab">
      <action name="NextWindow">
        <panels>yes</panels>
        <desktop>yes</desktop>
      </action>
    </keybind>
    <!-- Raccourcis pour le lancement d'applications -->
    <keybind key="Print">
      <action name="Execute">
        <execute>gnome-screenshot</execute>
      </action>
    </keybind>
    <keybind key="A-Print">
      <action name="Execute">
        <execute>gnome-screenshot -w</execute>
      </action>
    </keybind>
    <keybind key="W-e">
      <action name="Execute">
        <name>Naulitus</name>
        <command>nautilus --no-desktop</command>
      </action>
    </keybind>
    <keybind key="W-f">
      <action name="Execute">
        <name>Lance Firefox</name>
        <command>firefox</command>
      </action>
    </keybind>
    <keybind key="A-F2">
      <action name="Execute">
        <name>Lance une application</name>
        <command>gmrun</command>
      </action>
    </keybind>
    <keybind key="A-t">
      <action name="Execute">
        <name>Terminal</name>
        <command>gnome-terminal</command>
      </action>
    </keybind>
    <keybind key="W-m">
      <action name="Execute">
        <name>Audacious</name>
        <command>audacious2</command>
      </action>
    </keybind>
  </keyboard>
  <mouse>
    <!-- ################################################## -->
    <!-- # Souris                                         # -->
    <!-- ################################################## -->
    <dragThreshold>8</dragThreshold>
    <!-- Distance de seuil pour le drag (px) -->
    <doubleClickTime>200</doubleClickTime>
    <!-- Durée du double-clic (ms) (1000 = 1 second) -->
    <screenEdgeWarpTime>400</screenEdgeWarpTime>
    <!-- Changer de bureau quand une fenêtre passe un bord de l'écran (ms) (1000 = 1 second).
         Mettre à 0 pour désactiver le changement de bureau -->
    <context name="Frame">
      <mousebind button="A-Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="A-Left" action="Click">
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="A-Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="A-Right" action="Drag">
        <action name="Resize"/>
      </mousebind>
      <mousebind button="A-Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="A-S-Up" action="Click">
        <action name="SendToDesktopPrevious"/>
      </mousebind>
      <mousebind button="A-S-Down" action="Click">
        <action name="SendToDesktopNext"/>
      </mousebind>
    </context>
    <context name="Titlebar">
      <mousebind button="W-Left" action="Click">
        <action name="Execute">
          <execute>transset-df -p 1</execute>
        </action>
      </mousebind>
      <mousebind button="W-Up" action="Click">
        <action name="Execute">
          <execute>transset-df -p --inc 0.2</execute>
        </action>
      </mousebind>
      <mousebind button="W-Down" action="Click">
        <action name="Execute">
          <execute>transset-df -p --min 0.2 --dec 0.2</execute>
        </action>
      </mousebind>
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Move"/>
      </mousebind>
      <mousebind button="Left" action="DoubleClick">
        <action name="ToggleMaximizeFull"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Up" action="Click">
        <action name="Shade"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
        <action name="Lower"/>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="Unshade"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="Top">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>top</edge>
        </action>
      </mousebind>
    </context>
    <context name="Left">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>left</edge>
        </action>
      </mousebind>
    </context>
    <context name="Right">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>right</edge>
        </action>
      </mousebind>
    </context>
    <context name="Bottom">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize">
          <edge>bottom</edge>
        </action>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Lower"/>
        <action name="FocusToBottom"/>
        <action name="Unfocus"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="BLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="BRCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="TLCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="TRCorner">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Drag">
        <action name="Resize"/>
      </mousebind>
    </context>
    <context name="Client">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Icon">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="ShowMenu">
          <menu>client-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="AllDesktops">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleOmnipresent"/>
      </mousebind>
    </context>
    <context name="Shade">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleShade"/>
      </mousebind>
    </context>
    <context name="Iconify">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Iconify"/>
      </mousebind>
    </context>
    <context name="Maximize">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Middle" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="ToggleMaximizeFull"/>
      </mousebind>
      <mousebind button="Middle" action="Click">
        <action name="ToggleMaximizeVert"/>
      </mousebind>
      <mousebind button="Right" action="Click">
        <action name="ToggleMaximizeHorz"/>
      </mousebind>
    </context>
    <context name="Close">
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
        <action name="Unshade"/>
      </mousebind>
      <mousebind button="Left" action="Click">
        <action name="Close"/>
      </mousebind>
    </context>
    <context name="Desktop">
      <mousebind button="Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="C-A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="C-A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="Left" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="Focus"/>
        <action name="Raise"/>
      </mousebind>
    </context>
    <context name="Root">
      <!-- Menus -->
      <mousebind button="Middle" action="Press">
        <action name="ShowMenu">
          <menu>client-list-combined-menu</menu>
        </action>
      </mousebind>
      <mousebind button="Right" action="Press">
        <action name="ShowMenu">
          <menu>root-menu</menu>
        </action>
      </mousebind>
    </context>
    <context name="MoveResize">
      <mousebind button="Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
      <mousebind button="A-Up" action="Click">
        <action name="DesktopPrevious"/>
      </mousebind>
      <mousebind button="A-Down" action="Click">
        <action name="DesktopNext"/>
      </mousebind>
    </context>
  </mouse>
  <menu>
    <!-- You can specify more than one menu file in here and they are all loaded,
           just don't make menu ids clash or, well, it'll be kind of pointless -->
    <!-- default menu file (or custom one in $HOME/.config/openbox/) -->
    <!-- system menu files on Debian systems -->
    <file>/var/lib/openbox/debian-menu.xml</file>
    <file>debian-menu.xml</file>
    <file>menu.xml</file>
    <hideDelay>200</hideDelay>
    <!-- if a press-release lasts longer than this setting (in milliseconds), the
       menu is hidden again -->
    <middle>no</middle>
    <!-- center submenus vertically about the parent entry -->
    <submenuShowDelay>200</submenuShowDelay>
    <!-- time to delay before showing a submenu after hovering over the parent
           entry.
           if this is a negative value, then the delay is infinite and the
           submenu will not be shown until it is clicked on -->
    <submenuHideDelay>400</submenuHideDelay>
    <!-- time to delay before hiding a submenu when selecting another
           entry in parent menu -->
    <!-- if this is a negative value, then the delay is infinite and the
       submenu will not be hidden until a different submenu is opened -->
    <applicationIcons>yes</applicationIcons>
    <!-- controls if icons appear in the client-list-(combined-)menu -->
    <manageDesktops>yes</manageDesktops>
    <!-- show the manage desktops section in the client-list-(combined-)menu -->
  </menu>
  <applications>
    <!--
  # this is an example with comments through out. use these to make your
  # own rules, but without the comments of course.
 
  <application name="the window's _OB_NAME property (see obxprop)"
              class="the window's _OB_CLASS property (see obxprop)"
               role="the window's _OB_ROLE property (see obxprop)"
               type="the window's _NET_WM_WINDOW_TYPE (see obxprob)..
                      (if unspecified, then it is 'dialog' for child windows)">
  # the name or the class can be set, or both. this is used to match
  # windows when they appear. role can optionally be set as well, to
  # further restrict your matches.
 
  # the name, class, and role use simple wildcard matching such as those
  # used by a shell. you can use * to match any characters and ? to match
  # any single character.
 
  # the type is one of: normal, dialog, splash, utility, menu, toolbar, dock,
  #    or desktop
 
  # when multiple rules match a window, they will all be applied, in the
  # order that they appear in this list
 
 
    # each element can be left out or set to 'default' to specify to not 
    # change that attribute of the window
 
    <decor>yes</decor>
    # enable or disable window decorations
 
    <shade>no</shade>
    # make the window shaded when it appears, or not
 
    <position force="no">
      # the position is only used if both an x and y coordinate are provided
      # (and not set to 'default')
      # when force is "yes", then the window will be placed here even if it
      # says you want it placed elsewhere.  this is to override buggy
      # applications who refuse to behave
      <x>center</x>
      # a number like 50, or 'center' to center on screen. use a negative number
      # to start from the right (or bottom for <y>), ie -50 is 50 pixels from the
      # right edge (or bottom).
      <y>200</y>
      <monitor>1</monitor>
      # specifies the monitor in a xinerama setup.
      # 1 is the first head, or 'mouse' for wherever the mouse is
    </position>
 
    <focus>yes</focus>
    # if the window should try be given focus when it appears. if this is set
    # to yes it doesn't guarantee the window will be given focus. some
    # restrictions may apply, but Openbox will try to
 
    <desktop>1</desktop>
    # 1 is the first desktop, 'all' for all desktops
 
    <layer>normal</layer>
    # 'above', 'normal', or 'below'
 
    <iconic>no</iconic>
    # make the window iconified when it appears, or not
 
    <skip_pager>no</skip_pager>
    # asks to not be shown in pagers
 
    <skip_taskbar>no</skip_taskbar>
    # asks to not be shown in taskbars. window cycling actions will also
    # skip past such windows
 
    <fullscreen>yes</fullscreen>
    # make the window in fullscreen mode when it appears
 
    <maximized>true</maximized>
    # 'Horizontal', 'Vertical' or boolean (yes/no)
  </application>
 
  # end of the example
-->
  </applications>
</openbox_config>

autostart

Le fichier ~/.config/openbox/autostart contient les commandes à lancer.

Il faut mettre un "&" à la fin de chaque commande afin de pouvoir passer à la suite du script après son exécution.

Bien entendu chaque commande lancée doit avoir été installé auparavant.

#!/bin/bash
# Lance un Composite manager
xcompmgr -c -t-5 -l-5 -r4.2 -o.55 &
 
# NumLock ON (les utilisateurs aiment)
numlockx &
 
# SCIM support (pour les caractères non-Anglais)
scim -d &
 
# Et par exemple, pour un kiosque non intéractif :
chromium --kiosk --incognito https://doc.ubuntu-fr.org/fichiers_config_openbox &
Le rendre exécutable avec la commande

chmod +x ~/.config/openbox/autostart


Voici un exemple de menu, donnant le résultat de la photo ci-dessus :

Attention, ceci n'est qu'un exemple qui n'a d'autre but que de montrer comment est structuré le fichier menu.xml Ne recopiez pas mot pour mot le contenu de cet exemple, ou adaptez-le à votre installation (programmes, emplacements…)
menu.xml
<?xml version="1.0" encoding="utf-8"?>
<openbox_menu xmlns="http://openbox.org/3.4/menu">
	<separator label="Often Used"/>
	<menu id="apps-accessories-menu" label="Accessories">
		<item label="Screenshot">
			<action name="Execute">
				<execute>
					xfce4-screenshooter
				</execute>
			</action>
		</item>
		<item label="Calculator">
			<action name="Execute">
				<command>
					gnome-calculator
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Character Map">
			<action name="Execute">
				<command>
					gnome-character-map
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Ark File Archiver">
			<action name="Execute">
				<command>
					ark
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
	</menu>
	<menu id="apps-editors-menu" label="Editors">
		<item label="Emacs">
			<action name="Execute">
				<command>
					emacs
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
					<wmclass>
						Emacs
					</wmclass>
				</startupnotify>
			</action>
		</item>
		<item label="GVim">
			<action name="Execute">
				<command>
					gvim
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
					<wmclass>
						GVim
					</wmclass>
				</startupnotify>
			</action>
		</item>
		<item label="Geany">
			<action name="Execute">
				<execute>
					geany
				</execute>
			</action>
		</item>
		<item label="Leafpad">
			<action name="Execute">
				<command>
					kwrite
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Kate">
			<action name="Execute">
				<command>
					kate
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="GEdit">
			<action name="Execute">
				<command>
					gedit
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
	</menu>
	<menu id="apps-term-menu" label="Terminals">
		<item label="Lxterminal">
			<action name="Execute">
				<execute>
					lxterminal
				</execute>
			</action>
		</item>
		<item label="Rxvt Unicode">
			<action name="Execute">
				<command>
					urxvt
				</command>
			</action>
		</item>
		<item label="Gnome Terminal">
			<action name="Execute">
				<command>
					gnome-terminal
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Xfce Terminal">
			<action name="Execute">
				<command>
					xfce4-terminal
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Konsole">
			<action name="Execute">
				<command>
					konsole
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Xterm">
			<action name="Execute">
				<command>
					xterm
				</command>
			</action>
		</item>
	</menu>
	<menu id="apps-net-menu" label="Internet">
		<item label="Firefox">
			<action name="Execute">
				<command>
					firefox
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
					<wmclass>
						Firefox
					</wmclass>
				</startupnotify>
			</action>
		</item>
		<item label="Arora">
			<action name="Execute">
				<command>
					opera
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
					<wmclass>
						Opera
					</wmclass>
				</startupnotify>
			</action>
		</item>
		<item label="Konqueror">
			<action name="Execute">
				<command>
					konqueror
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Epiphany">
			<action name="Execute">
				<command>
					epiphany
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Pidgin Instant Messenger">
			<action name="Execute">
				<command>
					pidgin
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Kopete Instant Messenger">
			<action name="Execute">
				<command>
					kopete
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="XChat">
			<action name="Execute">
				<command>
					xchat
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
	</menu>
	<menu id="apps-office-menu" label="Office">
		<item label="XFig">
			<action name="Execute">
				<execute>
					xfig
				</execute>
			</action>
		</item>
		<item label="GnuPlot">
			<action name="Execute">
				<execute>
					gnuplot
				</execute>
			</action>
		</item>
		<item label="Gnumeric">
			<action name="Execute">
				<execute>
					gnumeric
				</execute>
			</action>
		</item>
		<item label="Kile">
			<action name="Execute">
				<execute>
					kile
				</execute>
			</action>
		</item>
		<item label="TexMaker">
			<action name="Execute">
				<execute>
					texmakerx
				</execute>
			</action>
		</item>
		<item label="OpenOffice Base">
			<action name="Execute">
				<command>
					ooffice -base
				</command>
			</action>
		</item>
		<item label="OpenOffice Calc">
			<action name="Execute">
				<command>
					ooffice -calc
				</command>
			</action>
		</item>
		<item label="OpenOffice Draw">
			<action name="Execute">
				<command>
					ooffice -draw
				</command>
			</action>
		</item>
		<item label="OpenOffice Impress">
			<action name="Execute">
				<command>
					ooffice -impress
				</command>
			</action>
		</item>
		<item label="OpenOffice Math">
			<action name="Execute">
				<command>
					ooffice -math
				</command>
			</action>
		</item>
		<item label="OpenOffice Printer Administration">
			<action name="Execute">
				<command>
					ooffice-printeradmin
				</command>
			</action>
		</item>
		<item label="OpenOffice Writer">
			<action name="Execute">
				<command>
					ooffice -writer
				</command>
			</action>
		</item>
	</menu>
	<menu id="apps-multimedia-menu" label="Multimedia">
		<item label="Xmms">
			<action name="Execute">
				<execute>
					xmms
				</execute>
			</action>
		</item>
		<item label="Exaile">
			<action name="Execute">
				<execute>
					exaile
				</execute>
			</action>
		</item>
		<item label="Banshee">
			<action name="Execute">
				<execute>
					banshee
				</execute>
			</action>
		</item>
		<item label="Listen">
			<action name="Execute">
				<execute>
					listen
				</execute>
			</action>
		</item>
		<item label="Gmusicbrowser">
			<action name="Execute">
				<execute>
					gmusicbrowser
				</execute>
			</action>
		</item>
		<item label="MPlayer">
			<action name="Execute">
				<execute>
					mplayer -gui
				</execute>
			</action>
		</item>
		<item label="Amarok">
			<action name="Execute">
				<command>
					amarok
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Rhythmbox">
			<action name="Execute">
				<command>
					rhythmbox
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="K3b">
			<action name="Execute">
				<command>
					k3b
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Totem">
			<action name="Execute">
				<command>
					totem
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
	</menu>
	<menu id="apps-fileman-menu" label="File Managers">
		<item label="PCMan File Manager">
			<action name="Execute">
				<command>
					pcmanfm
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Nautilus">
			<action name="Execute">
				<command>
					nautilus --no-desktop --browser
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Thunar">
			<action name="Execute">
				<command>
					Thunar
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="KDE File Manager">
			<action name="Execute">
				<command>
					kfmclient openURL ~
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Rox">
			<action name="Execute">
				<command>
					rox
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
					<wmclass>
						ROX-Filer
					</wmclass>
				</startupnotify>
			</action>
		</item>
	</menu>
	<menu id="apps-graphics-menu" label="Graphics">
		<item label="GNUPlot">
			<action name="Execute">
				<execute>
					gnuplot
				</execute>
			</action>
		</item>
		<item label="LaTeX draw">
			<action name="Execute">
				<execute>
					latexdraw
				</execute>
			</action>
		</item>
		<item label="Gimp">
			<action name="Execute">
				<command>
					gimp
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Gwenview">
			<action name="Execute">
				<command>
					gwenview
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Dia Diagram Editor">
			<action name="Execute">
				<command>
					dia
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Inkscape">
			<action name="Execute">
				<command>
					inkscape
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
	</menu>
	<menu id="system-menu" label="System">
		<item label="Aumix">
			<action name="Execute">
				<execute>
					aumix
				</execute>
			</action>
		</item>
		<item label="Nitrogen">
			<action name="Execute">
				<execute>
					nitrogen
				</execute>
			</action>
		</item>
		<item label="Obmenu">
			<action name="Execute">
				<execute>
					obmenu
				</execute>
			</action>
		</item>
		<item label="Lxappearance">
			<action name="Execute">
				<execute>
					lxappearance
				</execute>
			</action>
		</item>
		<item label="Openbox Configuration Manager">
			<action name="Execute">
				<command>
					obconf
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Gnome Control Center">
			<action name="Execute">
				<command>
					gnome-control-center
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="KDE Control Center">
			<action name="Execute">
				<command>
					kcontrol
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Xfce Settings">
			<action name="Execute">
				<command>
					xfce-setting-show
				</command>
				<startupnotify>
					<enabled>
						yes
					</enabled>
				</startupnotify>
			</action>
		</item>
		<item label="Manage Cups Printers">
			<action name="Execute">
				<command>
					xdg-open http://localhost:631/
				</command>
				<startupnotify>
					<enabled>
						no
					</enabled>
					<icon>
						cups
					</icon>
				</startupnotify>
			</action>
		</item>
		<separator/>
		<item label="Reconfigure Openbox">
			<action name="Reconfigure"/>
		</item>
	</menu>
	<menu id="root-menu" label="Openbox 3">
		<separator label="Often Used"/>
		<item label="Lxterminal">
			<action name="Execute">
				<execute>
					lxterminal
				</execute>
			</action>
		</item>
		<item label="Pcmanfm">
			<action name="Execute">
				<execute>
					pcmanfm
				</execute>
			</action>
		</item>
		<item label="Gvim">
			<action name="Execute">
				<execute>
					gvim
				</execute>
			</action>
		</item>
		<item label="Emacs">
			<action name="Execute">
				<execute>
					emacs
				</execute>
			</action>
		</item>
		<item label="Amarok">
			<action name="Execute">
				<execute>
					amarok
				</execute>
			</action>
		</item>
		<item label="Sylpheed">
			<action name="Execute">
				<execute>
					sylpheed
				</execute>
			</action>
		</item>
		<item label="Firefox">
			<action name="Execute">
				<execute>
					firefox
				</execute>
			</action>
		</item>
		<separator label="Applications"/>
		<menu id="apps-accessories-menu"/>
		<menu id="apps-editors-menu"/>
		<menu id="apps-graphics-menu"/>
		<menu id="apps-net-menu"/>
		<menu id="apps-office-menu"/>
		<menu id="apps-multimedia-menu"/>
		<menu id="apps-term-menu"/>
		<menu id="apps-fileman-menu"/>
		<separator label="System"/>
		<menu id="system-menu"/>
		<separator/>
		<item label="Exit">
			<action name="Execute">
				<execute>
					/home/linux/.Script-quitter/ob_logout
				</execute>
			</action>
		</item>
	</menu>
</openbox_menu>
Astuce : la balise :
<separator label="[titre perso]"/>

permet de créer une en-tête de menu personnalisée.