Fluxbox : la puissance dans la simplicité. Guide.
Fluxbox est un gestionnaire de fenêtre extrêmement léger et rapide. Dans la lignée des *box, il peut à lui tout seul constituer un environnement de bureau très complet. Par ailleurs, il présente quelques avantages intéressants devant le plus connu openbox.
Quelques avantages non exhaustifs :
- Syntaxe de configuration simple (ce n'est pas du xml).
- Possibilité de configuration par de simples menus
- Tout est présent par défaut : barre des tâches, systray, horloge, menu.
- Raccourcis claviers facilement configurables
- Rapide
- Possibilité de regrouper les fenêtres en onglets, rendant la gestion des fenêtres plus pratique
- Lanceur de commande intégré (type gmrun) : Alt+f2
- Définitions de règles pour les fenêtres très complètes.
- Pseudo-transparence
Quelques inconvénients :
- Il n'y a pas la possibilité de définir une marge où les fenêtres ne pourront aller.
- Pas de pipemenus, mais des menus listant les répertoires avec possiblité de lancer une commande personnalisée.
Configuration de fluxbox
Fluxbox peut être configuré via le menu accessible par un clic-droit sur le bureau. La barre des tâches peut être configurée de la même façon. Cependant, nous pouvons configurer fluxbox encore un peu plus.
Démarrage automatique de programmes
Pour lancer des programmes automatiquement au démarrage de fluxbox, complétez
le fichier ~/.fluxbox/startup
. Une seule règle : ne pas oublier d'ajouter un
&
après chaque commande.
Exemple :
numlockx &
xset -display :0 s off -dpms &
sleep 3 && ~/bin/bin/wallpaper.sh &
gtk-redshift -l 47.13:1.33 -t 5500:4000 &
unclutter -noevents &
mpd &
xautolock -time 10 -locker slock &
sleep 3 && conky -c ~/.conkyrcflux &
gajim &
Raccourcis clavier et souris
Vous pouvez configurer des raccourcis clavier et souris dans le fichier
~/.fluxbox/keys
. La syntaxe est la suivante :
Modificateur touche :commande [arguments...]
- Un modificateur est une touche spéciale, comme Shift, Control ou Alt (Mod1). Pour en connaître la liste, lancez la commande
xmodmap -pm
dans un terminal. Il existe des modificateurs spéciaux, comme :OnDesktop
lorsque le curseur est sur le bureau.OnToolbar
lorsque le curseur est sur la barre des tâches.OnWindow
lorsque le curseur est au-dessus d'une fenêtre.OnTitlebar
lorsque le curseur est au-dessus la barre de itre d'une fenêtre.OnTab
lorsque le curseur est sur un ongletDouble
lors d'un double clic.
- Le nom d'une touche peut être par exemple
a
,b
ouspace
. Vous pouvez aussi utiliser un code, récupéré en lançant la commandexev
dans un terminal, puis en appuyant sur la touche dont on souhaite connaître le code. Ce dernier apparaîtra dans votre terminal (exemple38
ou0xf3
). - Les commandes sont très nombreuses, comme déplacer une fenêtre sur un espace de travail, l'agrandir… Pour simplement lancer une application, vous aurez besoin de la commande Exec :
Mod1 Shift L :Exec mpc next
Sachez aussi que vous pouvez appliquer des conditions sur ces raccourcis, mais cet usage avancé, permettant de contrôler totalement votre environnement, nécessite une lecture du lien ci-dessous.
La liste des commande est disponible ici.
Règles sur les fenêtres.
Fluxbox offre un incroyable jeu de règles afin de configurer le placement de vos fenêtres. Par exemple, si on vaut que firefox démarre sur le bureau 3, maximisé, c'est possible! On peut aussi faire en sorte que mutt (le lecteur de courrier) soit toujours sur le bureau 4, en arrière plan, n'apparaisse pas dans la barre, maximisé. Cela donne l'impression que le fond d'écran, c'est mutt.
:Bien sûr, vous pouvez aussi simplement mettre urxvt en arrière plan sur
:votre bureau avec ces quelques règles dans le fichier ~/.fluxbox/apps
[app] (Title=urxvt-bg)
[Layer]{12}
[Deco]{NONE}
[Maximized]{yes}
[Hidden]{yes}
[Sticky]{yes}
[end]
Afin que cela ne s'applique pas sur tous les terminaux que je lance, j'ai rajouté ceci au démarrage de la session pour toujours avoir un terminal en arrière plan, totalement transparent :
urxvt -T urxvt-bg -sh 100 &
Autres infos à ce propos sur le forum de crunchbang
Pour tout savoir sur les possibilités de fluxbox, cliquer ici
Configurer le menu
Avant d'aller plus loin, notez l'existence d'un éditeur de menu graphique développé par bibi pour vous simplifier la vie : ivgotheflux.
Un menu déjà bien rempli est proposé par défaut sous debian. Cependant, vous pourriez souhaiter créer votre propre menu. Ici aussi, la syntaxe est des plus simple :
[etiquette] (titre) {commande} <'icone'>
Vous pouvez donc créer des entrées pour lancer une commande, par exemple :
[exec] (Internet) {firefox}
.
Vous pouvez aussi créer des sous-menus. Attention, dans ce cas, il faudra
ensuite ajouter [end]
:
[submenu] (Capture d'écran)
[exec] (... maintenant) {scrot -e 'mv $f ~/shots'}
[exec] (... avec sélection) {scrot -s -e 'mv $f ~/shots'}
[exec] (... dans 10s) {scrot -s -d 10 -e 'mv $f ~/shots'}
[exec] (... dans 5s) {scrot -s -d 5 -e 'mv $f ~/shots'}
[exec] (... puis upload) {~/bin/bin/sscrot}
[end]
Il existe des sections particulières. En voici quelques unes, mais je vous invite à lire la section dédiée sur le site officiel :
[separator]
: ajoute une barre de séparation.[wallpaper] (répertoire) {commande}
: malgré son nom, ce menu n'est pas forcément utile pour définir le fond d'écran. Il permet de lister les fichiers d'un répertoire, puis de lancer une commande sur le fichier choisi. Par exemple, dans un dossier contenant des notes diverses, afin de pouvoir les ouvrir avec gvim :[wallpapers] (~/notes/) {gvim}
[workspaces] (Bureux)
: ajoute un menu de sélection des fenêtres sur tous les bureaux :
Configurer la barre de tâches.
Afin de changer l'ordre des éléments présent dans la barre des tâches (choix
du bureau, liste des fenêtres, horloge, systray), éditez le fichier
~/.fluxbox/init
. Ensuite, modifiez à votre guise la ligne suivante :
session.screen0.toolbar.tools: prevworkspace, workspacename, nextworkspace, prevwindow, nextwindow, iconbar, systemtray, clock
Ce fichier contient de nombreuses options à modifier à souhait.
Pour avoir le menu fluxbox accessible dans cette barre, ajouter RootMenu
dans la ligne ci-dessus.
Les styles
Pour installer de nouveaux styles, placez-les dans ~/.fluxbox/styles
.
Cependant, si vous ne voulez pas que le style impose certaines options, alors
définissez les vôtres dans le fichier ~/.fluxbox/overlay
. Par exemple, pour
choisir la police, ne pas appliquer de fond d'écran et choisir la taille de la
barre :
background: none
*font: DejaVu Sans -9
toolbar.height: 20
Du tiling
Voici quelques raccourcis pour faire du “tiling” avec fluxbox :
# Tiling With Half-Screen
Mod4 Mod1 T :MacroCmd {ResizeTo 100% 50%} {MoveTo 00 00 Up}
Mod4 Mod1 B :MacroCmd {ResizeTo 100% 50%} {MoveTo 00 00 Bottom}
Mod4 Mod1 L :MacroCmd {ResizeTo 50% 100%} {MoveTo 00 00 Left}
Mod4 Mod1 R :MacroCmd {ResizeTo 50% 100%} {MoveTo 00 00 Right}
Ma configuration
Si vous souhaitez utiliser une configuration semblable à celle présentée sur la capture d'écran, alors vous pouvez récupérer les fichiers ici : fluxbox configuration.
Vous y trouverez le style Dyne légèrement modifié, une barre raccourcis à côté de laquelle se place un conky affichant le nombre de mails et une barre de progression de mpd. Un menu permet aussi de prendre des captures d'écran, de régler la luminosité, d'ouvrir des notes… La police est présente dans .fluxbox/style/Dyne, et est à copier dans ~/.fonts.