noDE -- fluxbox -- doc

noDE aka no Desktop Environment ...
quelques informations à propos de fluxbox :
sources : doc thuban cc-by-sa & 3hg team

présentation

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 :

Quelques inconvénients :

fluxbox sur kiss0S

kiss0s embarque une session préconfigurée de fluxbox qui répond à la documentation générale en y ajoutant quelques raccourcis clavier. "Mod1" = Alt, "Mod4" = logo m$

la session fluxbox intègre également l'afficheur d'information conky. pour le configurer, direction le menu fluxbox:configuration:conky:éditer ou directement depuis son emplacement ~/.fluxbox/conkyrc_fluxbox.

plus de détails à propos de conky avec votre man conky.

configuration graphique

Fluxbox permet une configuration fine depuis son menu : clic-droit sur le bureau > menu > configuration...

configuration manuelle

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...]

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 commandes est disponible ici.

Règles sur les fenêtres.

vous pouvez remplir ce fichier par le menu des fenêtres en spécifiant 'se souvenir...'. mais toutes les options ne sont pas accessibles depuis le menu. pour plus de configuration, il faut éditer le fichier '~/.fluxbox/apps'. la syntaxe est simple et quelques exemples vous seront donnés en fin de section:

[app]/[group] (app-name) {count - optional}
	[Property1]  {value1}
	[Property2]  {value2}
		  ...
[end]

une application est identifiée grâce à la commande xprop et peut être déterminé par

l'option [app]...[end] détermine les propriétés d'une seule application.
cette section débute avec '[app] (pattern) {count}' avec 'pattern' qui peut être un ou plusieurs identifiants (voir la section 'pattern'). 'count' est optionnel et détermine le nombre maximum de fenêtres concernées par la règle. si il est omit, toutes les fenêtres répondant à 'pattern' seront concernées.
cette première ligne est suivie d'une série de propriétés (voir la section 'settings') et se termine par [end].

l'option [group]...[end] détermine les propriétés de plusieurs application pour les regrouper en onglets.
cette section débute avec '[group] (pattern) {count}' avec 'pattern' optionnel qui peut être un ou plusieurs identifiants (voir la section 'pattern'). 'count' est optionnel et détermine le nombre maximum de fenêtres concernées par la règle. si il est omit, toutes les fenêtres répondant à 'pattern' seront concernées.
cette première ligne est suivie d'autant de ligne [app] que d'applications que vous souhaitez grouper. cette section se termine par [end].

les settings sont les propriétés appliqués aux fenêtres répondant à 'pattern'
le format est simple '[setting] {value}'
voici la liste des 'settings':

les pattern sont les caractéristiques désignant les fenêtres.
une 'pattern' ressemble à ça:

([propertyname[!]=]regexp)

les propriétés successives sont placées entre ().
si 'propertyname' est omit, il est remplacé par 'name'.
'propertyname' n'est pas sensible à la casse, tandis que regexp l'est.
si vous spécifiez plusieurs regexp, le "AND" est implicite: toutes les 'pattern' doivent correspondre pour que la propriété s'applique.
on utilise '=' pour égal ou '!=' pour inégal.
les 'propertyname' acceptés par fluxbox:

exemples:

urxvt en arriere plan transparent

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 :

Aperçu menu fluxbox

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.

astuce : pour insérer un bouton de menu dans la barre de tâches, ajouter

RootMenu
dans la ligne de configuration de la toolbar.

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