{{tag>Trusty Xenial gestionnaire_de_fenêtres personnalisation}}
----
{{ https://upload.wikimedia.org/wikipedia/commons/1/1d/Fluxbox-logo.png?150}}
====== Fluxbox ======
La version des dépôts est l’avant-dernière version officielle, toutefois cette version est pleinement fonctionnelle.
Le site officiel n’est plus actif, toutefois le projet reste en activité sur GitHub.
**Fluxbox** est un [[gestionnaire de fenêtres]] très léger, qui permet de faire "revivre" quelques ordinateurs qui ne supporteraient pas [[:GNOME]] ou [[:KDE]], ni même [[:XFCE]]. \\
Bien sûr Fluxbox n'est pas tout seul à proposer cela, il existe aussi [[:Enlightenment]] ou [[:Openbox]] et bien d'autres.
Les autres avantages de Fluxbox sont qu'il est entièrement personnalisable (par la ligne de commande ou //via// des logiciels graphiques), rapide, etc.\\
Bien sûr, vous pouvez aussi l'installer sur un ordinateur puissant: pour optimiser le lancement de certaines applications.
===== Installation =====
Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt>fluxbox|fluxbox]]**.
===== Démarrer Fluxbox =====
Une fois fluxbox installé, vous pouvez le sélectionner au moment du [[:gdm|choix de l'environnement graphique]].
Sinon, si vous n'avez pas [[:GDM]] ni [[:lightDM]] ni un équivalent, vous pouvez le lancer //via// la commande ''startx'', [[:tutoriel:comment_editer_un_fichier|en mettant les lignes suivantes dans le fichier]] **~/.xinitrc** :
#!/bin/bash
exec /usr/bin/startfluxbox
Puis mettez les droits adaptés sur ce fichier :
chmod 755 ~/.xinitrc
Mais pourquoi ''startfluxbox'' me direz-vous, et pourquoi pas ''fluxbox'' tout court ? Startfluxbox est un script qui gère le démarrage de Fluxbox. Au lancement, il va vérifier s'il existe ''~/.fluxbox'', puis s'il n'existe pas, il va le créer ainsi que les fichiers de configuration de base. Parmi ces fichiers, ''startup'' sera appelé par ''startfluxbox'' pour le lancement de Fluxbox.
Le thème de base n'est pas très attirant mais rassurez-vous, vous pourrez modifier tout ce que vous voudrez en temps voulu.
===== Configuration =====
====Startup====
Pour lancer une commande au lancement de Fluxbox, il y a plusieurs manières de lancer des applications, je ne vous en présenterai qu'une, qui est à mon sens la meilleure. Cette méthode fonctionne que vous démarriez en mode console ou en graphique (gdm, kdm, xdm, etc.).
Il suffit pour cela de rajouter une commande dans votre fichier ''~/.fluxbox/startup'', de la façon suivante :
nom_de_la_commande &
Le ''&'' sert à permettre l'exécution du reste des commandes qui suivent dans ce fichier. La commande insérée dans startup doit toujours se trouver avant le démarrage de Fluxbox, c'est-à-dire avant ce genre de ligne :
exec /usr/bin/fluxbox &
Voici par exemple un fichier startup :
# fluxbox startup-script:
#
# Lines starting with a '#' are ignored.
fbsetbg -l
fbpager -w &
conky &
xmodmap ~/.xmodmaprc
exec /usr/local/bin/fluxbox -log ~/.fluxbox/log
**FluboxLauncher** : logiciel graphique (glissé/déposé) permettant l'ajout d'applications au lancement de **Fluxbox**.
Disponible via :
* [[:PPA|L'ajout du PPA]] **ppa:jerem-ferry/fluxbox**((https://launchpad.net/~jerem-ferry/+archive/ubuntu/fluxbox))
* [[:tutoriel:comment_modifier_sources_maj#recharger_la_liste_des_paquets|Recharger la liste des paquets]];
* [[:tutoriel:comment_installer_un_paquet#paquet_present_dans_les_depots|Installer le paquet]] **[[apt>fluxboxlauncher]]**.
Ou dans un [[:terminal]], saisir les [[:commande_shell|commandes]] suivantes :
sudo add-apt-repository ppa:jerem-ferry/fluxbox
sudo apt-get update
sudo apt-get install fluxboxlauncher
**Temporiser les commandes :** sous certaines conditions ou si des bugs de chargement d’application au démarrage sont présents.
Il est possible d'utiliser la commande sleep afin de créer des temporisations de lancement entre les applications (particulièrement utile en cas de cumule d'applets).
__Exemple d’une commande sleep de 1 seconde et 1 minute (le « & » finale n’est pas nécessaire) : __
sleep 1
sleep 60
Pour faciliter et rendre rapide le chargement en cas de cumul de commandes sleep dans startup, des scripts bash peuvent être aussi créés et appeler au lancement. Les scripts bash ou toute commande sont globalement acceptés dans le fichier startup.
Si vous avez quelconque astuce à lancer au démarrage... N'hésitez pas à la rajouter !
====Le papier peint====
Il suffit de [[:tutoriel:comment_modifier_un_fichier|modifier le fichier]] **~/.fluxbox/overlay**
Ce fichier permet de redéfinir n'importe quelle directive écrite dans un fichier de thème, et tout ce qui s'y trouve prime sur le contenu d'un fichier de thème.
Il suffit de modifier les options suivantes:
* background.pixmap: /chemin/vers/image ou monimage (dans ce cas l'image doit être placée dans ~/.fluxbox/styles/MonStyle/monimage)
* background: permet de passer une option à fbsetbg pour l'instant seul les mots clés //tiled// et //centered// sont disponibles. Cette directive est obligatoire : ne pas mettre de paramètre à cette option revient à donner le paramètre fullscreen (-f) à fbsetbg.
Un logiciel [[http://wallpabox.tuxfamily.org|Wallpabox]] permet de changer de papier peint facilement grâce à une interface graphique. Wallpabox utilise la commande fbsetbg, il faut donc que fbsetbg -l soit appelé au démarrage.
Récupérer le paquet de la dernière version stable [[http://wallpabox.tuxfamily.org/index.php?page=downloads|ici]].
Installer le paquet avec dpkg.
Une entrée dans le menu est crée, vous pouvez aussi le lancer en ligne de commande par wallpabox.
====Le splash screen====
Cette partie n'est pas d'une très grande utilité mais certaines personnes aiment bien personnaliser à fond leur Fluxbox alors bon, comment mettre un splash screen au démarrage de Fluxbox ?
Rien de plus simple, il suffit de rajouter cette ligne dans votre **~/.fluxbox/startup** :
fbsetbg -C /path/img
Voilà, relancez Fluxbox et admirez...
Inutile de fermer toutes les fenêtres pour relancer Fluxbox.
====Les thèmes====
Les fichiers thèmes installés par défaut sont dans ''/usr/share/fluxbox/styles/''. Pour vos fichiers thèmes, après les avoir téléchargés, décompressez, ou copiez-les si ce ne sont pas des archives, directement dans ''~/.fluxbox/styles/''. \\
Vous pouvez sélectionner votre thème //via// le menu accessible d'un clic droit sur le bureau.
Pour ceux qui ont fait leur menu, si vous avez omis de mettre un sous-menu de configuration de Fluxbox, vous pouvez modifier le fichier **~/.fluxbox/init** à la ligne:
session.styleFile: ~/fluxbox/styles/votre-style
===Thèmes GTK===
La [[http://fluxbox-wiki.org/index.php?title=Utiliser_les_th%C3%83%C2%A8mes_GTK|doc. officielle]] (en français) est très explicite à ce sujet.
=== Thèmes ===
Pour les amateurs de thèmes, plusieurs sites proposent de nombreux thèmes très originaux :
[[https://www.deviantart.com/search/deviations?order=popular-all-time&q=fluxbox%20theme | DeviantArt ]]
[[https://www.pling.com/s/Window-Managers/browse/cat/139/order/latest/| Pling ]]
:!: N'oubliez pas de décompresser l'archive dans le répertoire ''~/.fluxbox/styles/''. :!:
Si la police du thème choisi est petite, il faut éditer le fichier theme.cfg, changer les numéros après les lignes terminant par (.font)
Par exemple : "menu.frame.font: Droid Sans-9" peut devenir "menu.frame.font: Droid Sans-11", police de la taille 9 à 11.
====Les icônes sur le bureau====
Sachez que Fluxbox ne veut pas être un [[environnements|environnement de bureau complet]]. Pour les icônes il faut donc utiliser un programme annexe.
Nous en présenterons ici trois :
* Fbdesk
* Idesk
* Rox
===Rox===
Beaucoup de personnes pensent que Rox n'est qu'un gestionnaire de fichier... et bien c'est faux ! voyez plutôt :
* [[:tutoriel:comment_installer_un_paquet|Installer le paquet]] **rox-filer** ;
* Ajoutez ceci à votre fichier startup : rox -p 1 &
* Avec Rox, faites un glisser-déplacer des applications souhaitées depuis « /usr/share/applications » vers le bureau, renommez-les, c'est terminé !
=== fbdesk ===
Fbdesk est certainement le plus simple et le plus léger.
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **fbdesk**.
Une fois installé, [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **fbdesk.icons**.
Chaque entrée se présente comme suit :
[Desktop Entry]
Name=default
Exec=
Icon=
Pos= 100 100
[end]
* Name : Nom
* Exec : le nom de l'exécutable (vous en trouverez dans /usr/bin/)
* Icon : adresse de l'îcône (vous en trouverez dans /usr/share/pixmaps/)
* Pos : Position en X et Y
Exemple d'un fichier configuré :
[Desktop Entry]
Name=Roxfiler
Exec=rox-filer
Icon=~/icones/home.png
Pos= 50 50
[end]
[Desktop Entry]
Name=Gaim
Exec=gaim
Icon=~/icones/gaim.png
Pos= 50 150
[end]
[Desktop Entry]
Name=VideoLan
Exec=vlc
Icon=~/icones/tv.png
Pos= 50 250
[end]
[Desktop Entry]
Name=Firefox
Exec=firefox
Icon=~/icones/firefox.png
Pos= 50 350
[end]
[Desktop Entry]
Name=Terminal
Exec=gnome-terminal
Icon=~/icones/term.png
Pos= 50 450
[end]
(**~** sera remplacé par **/home/user** une fois fbdesk relancé)
=== Idesk ===
[[:tutoriel:comment_installer_un_paquet|Installez le paquet]] **[[apt://idesk|idesk]]**.
Après l'installation, vous trouverez un fichier **~/.ideskrc** qui permet de configurer le comportement de vos futures icônes. Voici le mien :
table Config
FontName: gothic
FontSize: 11
FontColor: #37CFA6
ToolTip.FontSize: 11
ToolTip.FontName: gothic
ToolTip.ForeColor: #0000FF
ToolTip.BackColor: #FFFFFF
ToolTip.CaptionOnHover: true
ToolTip.CaptionPlacement: Right
Locked: false
Transparency: 100
Shadow: true
ShadowColor: #000000
ShadowX: 1
ShadowY: 1
Bold: true
ClickDelay: 300
IconSnap: true
SnapWidth: 20
SnapHeight: 20
SnapOrigin: BottomRight
SnapShadow: false
SnapShadowTrans: 200
CaptionOnHover: false
CaptionPlacement: bottom
FillStyle: fillinvert
Background.File: latina.jpg
end
table Actions
Lock: control right doubleClk
Reload: middle doubleClk
Drag: left hold
EndDrag: left singleClk
Execute[0]: left doubleClk
Execute[1]: right doubleClk
end
Pour pouvoir mettre des icônes sur votre bureau, il vous faut au préalable créer un répertoire ~/.idesktop. Pour cela :
mkdir .idesktop
Maintenant placez-vous dans ce répertoire et créez, par exemple, un fichier firefox.lnk, en y mettant à l'intérieur:
table Icon
Caption: Firefox
Command: /usr/bin/firefox
Icon: /usr/share/pixmaps/firefox.png
Width: 48
Height: 48
X: 1179
Y: 253
end
Et voilà, quand vous lancerez idesk, vous aurez un belle icône Firefox sur votre bureau, que vous placerez où vous voulez. Créez autant de fichier.lnk que d'icône que vous voulez placer sur votre bureau.
=== fbdesk/Idesk au démarrage ===
Si vous voulez automatiser le démarrage de fbdesk/idesk, [[:tutoriel:comment_modifier_un_fichier|éditez le fichier]] **~/.fluxbox/startup** comme expliqué précédemment:
# fluxbox startup-script:
#
# Lines starting with a '#' are ignored.
idesk &
Attention à bien mettre le ''&'', cela permet d'exécuter la suite du startup.
NB: à placer **avant** le exec /usr/bin/fluxbox
Sachez qu'il existe également Nautilus (le célèbre navigateur de fichier de GNOME), mais il empêche l'ouverture du menu par clic droit : ce menu est remplacé par la création/suppression de dossier/fichier, etc...
Si vous souhaitez tout de même l'essayer (et que vous avez réussi à mettre votre menu dans votre toolbar), tapez ''nautilus'' en ligne de commande ou mettez ''nautilus &'' dans votre fichier **~/.fluxbox/startup**.
Si vous l'avez lancé et que votre menu vous est inaccessible : pas la peine d'éteindre brutalement votre ordinateur !
Lancez un terminal en faisant "ALT + F2" puis tapez le nom d'un terminal comme xterm, eterm, aterm ou encore gnome-terminal s'il est installé.
Une fois dans le terminal de votre choix, tapez simplement: killall nautilus
Si vous n'avez pas de terminal d'installé (quelle idée!), vous pouvez toujours accéder au tty (celui de votre choix) en faisant "ctrl + alt + F*", * étant un nombre de 1 à 6, puis tapez simplement :
killall nautilus
Revenez ensuite sur l'interface graphique en tapant "ctrl + alt + F7/F8" et le tour est joué !
N.B : Si ce code ne fonctionne pas, tapez "sudo service gdm restart" pour relancer l'interface graphique. Vous serez automatiquement déconnecté et vos travaux en cours seront perdus.
=== Liens ===
- http://fluxbox.sourceforge.net/fbdesk/
- Si vous voulez quelques icônes qui vont bien avec Fluxbox, allez voler [[http://www.gentoo.org/dyn/icons.xml|Gentoo]] (lien mort).
==== Informations système sur le bureau - Conky ====
Si aimez bien avoir tout sous la main, l'heure, le jour, le kernel, la place restante sur vos disques dur, vous allez certainement aimer [[Conky]] !
=== Installation ===
Il suffit d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **[[apt://conky|conky]]**.
Ensuite pour lancer conky, faites simplement :
conky
Pour mettre conky au démarrage de fluxbox, je vous renvoie sur la page [[fluxbox#startup]].
===Configuration===
Pour voir le manuel :
man conky
Pour une configuration avancée, il vous faudra créer un fichier nommé ".conkyrc" dans votre /home/user/. Pour le remplir, au choix :
* Allez dans /usr/share/doc/conky/examples et utilisez le fichier dans l'archive
* Rentrez les infos suivantes (C'est ma config, libre à vous de la modifier) :
# Conky sample configuration
#
# the list of variables has been removed from this file in favour
# of keeping the documentation more maintainable.
# Check http://conky.sf.net for an up-to-date-list.
# set to yes if you want Conky to be forked in the background
background yes
# X font when Xft is disabled, you can pick one with program xfontsel
#font 5x7
#font 6x10
#font 7x13
#font 8x13
#font 9x15
#font *mintsmild.se*
#font -*-*-*-*-*-*-34-*-*-*-*-*-*-*
# Use Xft?
use_xft yes
# Xft font when Xft is enabled
xftfont Bitstream Vera Sans Mono:size=8
# Text alpha when using Xft
xftalpha 0.8
# Print everything to stdout?
# out_to_console no
# MPD host/port
# mpd_host localhost
# mpd_port 6600
# mpd_password tinker_bell
# Print everything to console?
# out_to_console no
# mail spool
mail_spool $MAIL
# Update interval in seconds
update_interval 5.0
# This is the number of times Conky will update before quitting.
# Set to zero to run forever.
total_run_times 0
# Create own window instead of using desktop (required in nautilus)
own_window no
# If own_window is yes, you may use type normal, desktop or override
# own_window_type normal
# Use pseudo transparency with own_window?
# own_window_transparent yes
# If own_window_transparent is set to no, you can set the background colour here
# own_window_colour hotpink
# If own_window is yes, these window manager hints may be used
# own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
# Use double buffering (reduces flicker, may not work for everyone)
double_buffer yes
# Minimum size of text area
minimum_size 280 5
# Draw shades?
draw_shades no
# Draw outlines?
draw_outline no
# Draw borders around text
draw_borders no
# Draw borders around graphs
draw_graph_borders no
# Stippled borders?
# stippled_borders 8
# border margins
# border_margin 4
# border width
# border_width 1
# Default colors and also border colors
default_color white
default_shade_color black
default_outline_color black
# Text alignment, other possible values are commented
#alignment top_left
alignment top_right
#alignment bottom_left
#alignment bottom_right
#alignment none
# Gap between borders of screen and text
# same thing as passing -x at command line
gap_x 12
gap_y 12
# Subtract file system buffers from used memory?
no_buffers yes
# set to yes if you want all text to be in uppercase
uppercase no
# number of cpu samples to average
# set to 1 to disable averaging
cpu_avg_samples 2
# number of net samples to average
# set to 1 to disable averaging
net_avg_samples 2
# Force UTF8? note that UTF8 support required XFT
override_utf8_locale no
# Add spaces to keep things from moving about? This only affects certain objects.
use_spacer no
# mldonkey_hostname Hostname for mldonkey stuff, defaults to localhost
# mldonkey_port Mldonkey port, 4001 default
# mldonkey_login Mldonkey login, default none
# mldonkey_password Mldonkey password, default none
# boinc (seti) dir
# seti_dir /opt/seti
# Allow for the creation of at least this number of port monitors (if 0 or not set, default is 16)
#min_port_monitors 16
# Allow each port monitor to track at least this many connections (if 0 or not set, default is 256)
#min_port_monitor_connections 256
# none, xmms, bmp, audacious, infopipe (default is none)
xmms_player none
# variable is given either in format $variable or in ${variable}. Latter
# allows characters right after the variable and must be used in network
# stuff because of an argument
# stuff after 'TEXT' will be formatted on screen
TEXT
$nodename - $sysname $kernel on $machine
$stippled_hr
${color lightgrey}Uptime:$color $uptime ${color lightgrey}- Load:$color $loadavg
${color lightgrey}CPU Usage:${color #cc2222} $cpu% ${cpubar}
${color red}${cpugraph 0000ff 00ff00}
${color lightgrey}RAM Usage:$color $mem/$memmax - $memperc% ${membar}
${color lightgrey}Swap Usage:$color $swap/$swapmax - $swapperc% ${swapbar}
${color lightgrey}Processes:$color $processes ${color grey}Running:$color $running_processes
$color$stippled_hr
${color lightgrey}Networking:
Down:${color #8844ee} ${downspeed eth0} k/s${color lightgrey} ${offset 80}Up:${color #22ccff} ${upspeed eth0} k/s
${color #0000ff}${downspeedgraph eth0 32,150 ff0000 0000ff} ${color #22ccff}${upspeedgraph eth0 32,150 0000ff ff0000}
${color lightgrey}File systems:
/ $color${fs_used /}/${fs_size /} ${fs_bar /}
${color #88aadd}MPD: ${alignc}$mpd_artist - $mpd_title
${color #88aadd}$mpd_bar
${color #88aadd}${alignc}$mpd_status
${color}Name PID CPU% MEM%
${color #ddaa00} ${top name 1} ${top pid 1} ${top cpu 1} ${top mem 1}
${color lightgrey} ${top name 2} ${top pid 2} ${top cpu 2} ${top mem 2}
${color lightgrey} ${top name 3} ${top pid 3} ${top cpu 3} ${top mem 3}
${color lightgrey} ${top name 4} ${top pid 4} ${top cpu 4} ${top mem 4}
${color}Mem usage
${color #ddaa00} ${top_mem name 1} ${top_mem pid 1} ${top_mem cpu 1} ${top_mem mem 1}
${color lightgrey} ${top_mem name 2} ${top_mem pid 2} ${top_mem cpu 2} ${top_mem mem 2}
${color lightgrey} ${top_mem name 3} ${top_mem pid 3} ${top_mem cpu 3} ${top_mem mem 3}
${tail /var/log/Xorg.0.log 3 30}
$stippled_hr
${color #ddaa00}Port(s)${alignr}#Connections
$color Inbound: ${tcp_portmon 1 32767 count} Outbound: ${tcp_portmon 32768 61000 count}${alignr}ALL: ${tcp_portmon 1 65535 count}
${color #ddaa00}Inbound Connection ${alignr} Local Service/Port$color
${tcp_portmon 1 32767 rhost 0} ${alignr} ${tcp_portmon 1 32767 lservice 0}
${tcp_portmon 1 32767 rhost 1} ${alignr} ${tcp_portmon 1 32767 lservice 1}
${tcp_portmon 1 32767 rhost 2} ${alignr} ${tcp_portmon 1 32767 lservice 2}
${tcp_portmon 1 32767 rhost 3} ${alignr} ${tcp_portmon 1 32767 lservice 3}
${tcp_portmon 1 32767 rhost 4} ${alignr} ${tcp_portmon 1 32767 lservice 4}
${tcp_portmon 1 32767 rhost 5} ${alignr} ${tcp_portmon 1 32767 lservice 5}
${color #ddaa00}Outbound Connection ${alignr} Remote Service/Port$color
${tcp_portmon 32768 61000 rhost 0} ${alignr} ${tcp_portmon 32768 61000 rservice 0}
${tcp_portmon 32768 61000 rhost 1} ${alignr} ${tcp_portmon 32768 61000 rservice 1}
${tcp_portmon 32768 61000 rhost 2} ${alignr} ${tcp_portmon 32768 61000 rservice 2}
${tcp_portmon 32768 61000 rhost 3} ${alignr} ${tcp_portmon 32768 61000 rservice 3}
${tcp_portmon 32768 61000 rhost 4} ${alignr} ${tcp_portmon 32768 61000 rservice 4}
${tcp_portmon 32768 61000 rhost 5} ${alignr} ${tcp_portmon 32768 61000 rservice 5}
=== Liens ===
http://conky.sourceforge.net/
tutoriel pour conky : http://www.pcinpact.com/forum/index.php?showtopic=97542 "lien mort, trouver une alternative simple".
(version archivé du tutoriel) https://web.archive.org/web/20100521020853/http://www.pcinpact.com/forum/index.php?showtopic=97542
documentation conky : https://doc.ubuntu-fr.org/conky
=====Bureau virtuel=====
==== Ajouter/Enlever/Renommer des bureaux =====
=== Fichier init ===
Vous devez ouvrir le fichier init :
si vous ajoutez des bureaux, vous constaterez que ceux-ci n'ont pas de noms.
Pour les renommer, rendez-vous dans :
sudo nano ~/.fluxbox/init
Les 2 paramètres qui nous concernent sont :
session.screen0.workspaces: 4
session.screen0.workspaceNames: one,two,three,four,
==== Mettre un outil graphique pour visualiser les bureaux ====
Pour avoir une interface graphique pour bureau façon gnome/kde/XFCE, il vous faudra installer un paquet spécifique.
=== fbpager ===
Vous avez sans doute dejà testé Gnome ou KDE. Vous vous êtes peut être servi des 4 bureaux virtuels qui sont assez pratiques. Je dis 4 mais il est possible d'en mettre 1 comme 32, à vous de voir. Pour avoir la même chose sous fluxbox, il vous suffit d'installer **fbpager** :
sudo apt-get install fbpager
Puis par la suite, de créer, s'il n'est pas dejà présent, le fichier __/.fluxbox/fbpager__. Voici le contenu du mien :
fbpager.alpha: 30
fbpager.x: 10
fbpager.y: 0
fbpager.workspace.width: 40
fbpager.workspace.height: 40
fbpager.workspacesPerRow: 6400
fbpager.followDrag: false
fbpager.followMove: false
fbpager.changeWorkspaceButton: 11
fbpager.raiseWindowButton: 2
fbpager.lowerWindowButton: 3
fbpager.closeWindowButton: 3 3 1
fbpager.exitButton: 1 3 3
fbpager.nextWorkspaceButton: 4
fbpager.prevWorkspaceButton: 5
fbpager.moveInWorkspaceButton: 1
fbpager.dragToWorkspaceButton: 2
fbpager.align: LeftToRight
fbpager.color: white
fbpager.windowColor: green
fbpager.focusedWindowColor: blue
fbpager.windowBorderColor: green
fbpager.backgroundColor: black
fbpager.currentBackgroundColor: yellow
fbpager.multiClickTime: 250
fbpager.icons: false
Par la suite vous pourrez personnaliser entièrement **fbpager**. Référez-vous à la [[http://fluxbox.sourceforge.net/fbpager/|documentation]].
====Les raccourcis clavier====
Sous Fluxbox, la configuration des raccourcis clavier a été, selon moi, très bien pensée. Tous vos raccourcis clavier sont indiqués dans le fichier **~/.fluxbox/keys** sous la forme suivante :
Code_Touche :action
Par exemple, si vous voulez que l'action des touches Alt--T ouvre gnome-terminal voilà ce que cela donnerait :
Mod1 T :ExecCommand /usr/bin/gnome-terminal
===Le nom des touches===
Pour ce qui est du Mod1 c'est le nom de Alt pour X11, voici la liste des noms de touches << spéciales >> :
^ Nom de la touche ^ Nom X11 ^
| Alt | Mod1 |
| Ctrl, Contrôle, Str | Control |
| Super, Méta, Win, Windows | Mod4 |
| Maj, Majuscule | Shift |
| Print Screen "imprime écran" | Print |
Comment connaître le nom des autres touches me direz-vous, par exemple les touches multimédia ? Il suffit pour cela de trouver son keycode, avec ''xev''. Lancez xev en ligne de commande, puis appuyez sur une touche, par exemple Alt--<-, vous devriez avoir un résultat de ce genre :
KeyRelease event, serial 30, synthetic NO, window 0x1000001,
root 0x4c, subw 0x0, time 1233256903, (-34,357), root:(715,390),
state 0x18, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
XLookupString gives 0 bytes:
Ne vous préoccupez pas de tout ce qui est écrit mais seulement de cette partie :
keycode 64 (keysym 0xffe9, Alt_L)
On peut voir ici que le keycode de la touche Alt_L est 64, donc par exemple si vous avez des touches multimédia dont le keycode est par exemple 153, et que l'on veuille qu'il change de chanson dans xmms, voici ce que cela donnerait :
None 153 :ExecCommand xmms -f
N'oubliez pas que le **None** est important ici.
===Les actions===
Pour le moment veuillez consulter la [[http://fluxbox.sourceforge.net/docbook/fr/html/x276.html|page prévue à cet effet]] dans la documentation.
Voici un exemple de fichier keys :
Mod1 Tab :NextWindow
Mod1 Shift Tab :PrevWindow
Mod1 T :ToggleDecor
Mod1 F1 :Workspace 1
Mod1 F2 :Workspace 2
Mod1 F3 :Workspace 3
Mod1 F4 :Workspace 4
Control Mod1 Right :NextWorkspace
Control Mod1 Left :PrevWorkspace
None 233 :NextWorkspace
None 234 :PrevWorkspace
Control Shift F1 :SendToWorkspace 1
Control Shift F2 :SendToWorkspace 2
Control Shift F3 :SendToWorkspace 3
Control Shift F4 :SendToWorkspace 4
Mod1 N :Minimize
Mod1 M :MaximizeWindow
Mod1 C :Close
===== Configuration avancée =====
====Le menu Fluxbox====
Les menus sont configurés automatiquement, et la plupart des applications apparaitront dans les menus automatiquement. Malgré tout vous pouvez modifier manuellement la liste.
Sachez avant tout que les fichiers de configuration de Fluxbox se trouvent dans ''~/.fluxbox'', ou si vous préférez, dans ''/home/votre_nom/.fluxbox/''. Il y a aussi des fichiers qui se trouvent dans ''/usr/share/fluxbox/'', mais aussi ''/etc/X11/fluxbox/''. Enfin, si vous devez en modifier un, préférez ceux de votre ''~/.fluxbox/'' et s'ils ne s'y trouvent pas, alors modifiez les autres, mais attention, avec précaution !
Par défaut, ce répertoire contient :
apps/
init
keys
menu
slitlist
startup
styles/
S'il vous manque un de ces fichiers, ne vous inquiétez pas, j'ai sans doute rajouté ici un fichier qui sera créé par Fluxbox ultérieurement. Maintenant, vérifions que le menu est bien pris en compte, pour cela placez-vous dans ''~/.fluxbox/'' et faites :
grep session.menuFile: init
Puis vérifiez que le fichier indiqué est bien votre ''~/.fluxbox/menu''. C'est ce fichier que vous pourrez modifier à votre guise pour personnaliser votre menu.
===Structure du menu===
Le fichier menu commence impérativement par:
[begin] (Nom_du_menu)
Pour ajouter une application de votre choix, la syntaxe est très simple :
[exec] (nom_du_programme) {commande}
Donc par exemple si vous voulez créer un lien vers gedit il vous suffira de mettre:
[exec] (Gedit) {gedit}
Comme vous aimez personnaliser votre menu, vous serez heureux d'apprendre que vous pouvez ajouter un logo correspondant. Pour cela vous devez d'abord convertir votre image au format XPM. Vous pouvez utiliser ''convert'' par exemple (provient de [[:imagemagick|imagemagick]]) :
convert image.png image.xpm
Pour ajouter votre image au lien correspondant, mettez-vous à la ligne du lien et modifiez-le de la façon suivante :
[exec] (Gedit) {gedit}
Après vous avez la possibilité de créer des sous-menus. La syntaxe est très simple encore une fois :
[submenu] (Nom_du_menu)
[exec] ........
[end]
Voilà, c'est aussi simple que ça. Ensuite, vous aurez la possbilité de rajouter un séparateur:
[separator] () {}
Pour mettre un bouton //Redémarrer// :
[restart] (Redémarrer)
Le sous-menu de configuration de Fluxbox :
[config] (Configuration)
Le sous-menu pour choisir le thème :
[submenu] (Styles) {}
[stylesdir] (/usr/share/fluxbox/styles)
[stylesdir] (~/.fluxbox/styles)
Le fichier de menu se termine par :
[exit] (Quitter)
Vous avez plein d'autres options bien sûr, mais ne vous inquiétez pas, le menu est généré de base, et si vous ne voulez pas le modifier vous n'avez qu'à simplement ignorer cette partie.
Voici un morceau de mon menu :
[exec] (DevHelp) {/usr/bin/devhelp}
[exec] (eric) {/usr/bin/eric3}
[exec] (GDB) { x-terminal-emulator -T "GDB" -e /usr/bin/gdb} <>
[exec] (Glade) {/usr/bin/glade}
[exec] (Kiki) {/usr/bin/kiki}
[exec] (pycrust) {/usr/bin/pycrust} <>
[exec] (pyshell) {/usr/bin/pyshell} <>
[exec] (Python (v2.4\)) { x-terminal-emulator -T "Python (v2.4)" -e /usr/bin/python2.4}
[exec] (Pyunit (2.4\)) {unittestgui.python2.4} <>
[exec] (SPE (Stani's Python Editor\)) {/usr/bin/spe}
===Les astuces===
Vous étiez sûrement en train de vous dire qu'un menu qui se régénère à chaque boot de Fluxbox ne serait pas trop demander ;-). Alors il existe pour cela plusieurs astuces, dont un script fourni de base avec fluxbox :
==Script pour générer le menu==
Pour cela suivez ces instructions :
cd /usr/share/doc/fluxbox
gzip -d fluxbox-generate_menu.gz
cp fluxbox-generate_menu /usr/bin
Puis rendez le fichier exécutable :
chmod a+x /usr/bin/fluxbox-generate_menu
Vous pouvez désormais générer votre menu :
cd
fluxbox-generate_menu
Pour lancer cette commande dès le lancement de fluxbox référez-vous à la partie Startup.
Malgré tout, ce script génère un menu que je n'apprécie pas trop alors voilà la seconde méthode :
==Générer le menu (2)==
Avant toute chose nous aurons besoin d'[[:tutoriel:comment_installer_un_paquet|installer le paquet]] **menu** ([[:depots|dépôt]] //universe// pour Dapper) :
sudo apt-get install menu
Puis [[:tutoriel:comment_editer_un_fichier|éditez le fichier]] **~/.fluxbox/menu**
et remplacez son contenu par celui-ci :
[begin] (-Fluxbox-)
[include] (~/.fluxbox/menudefs.hook)
[separator] () {}
[config] (Configuration)
[submenu] (Styles) {}
[stylesdir] (/usr/share/fluxbox/styles)
[stylesdir] (~/.fluxbox/styles)
[end]
[workspaces] (Workspaces)
[separator] () {}
[restart] (Restart)
[exit] (Exit)
[separator] () {}
[exec] (run) {fbrun}
[end]
Comme vous l'aurez remarqué, la ligne importante ici est :
[include] (~/.fluxbox/menudefs.hook)
Ce fichier se génère avec la commande:
update-menus
Voici le résultat :
FIXME mettre une capture (lien mort ...)
P.-S. : Vous pouvez aussi configurer votre menu avec le logiciel Fluxmenu [[:tutoriel:comment_installer_un_paquet|fourni avec le paquet]] **Fluxconf** (disponible dans Universe) disposant d'une interface graphique.
===== Voir aussi =====
* [[https://github.com/fluxbox/fluxbox| GitHub du projet]]
* [[http://fluxbox.org/|Le site officiel]] (qui n'est plus actif)
* [[http://fluxbox.sourceforge.net/docbook/fr/html/|Documentation Française (HTML)]]
* [[http://fluxbox.sourceforge.net/docbook/fr/pdf/fluxbook.pdf | Documentation Française (PDF)]]
* [[:fluxbox_sources|Installation de fluxbox avec les sources]]
----
// Contributeurs : [[utilisateurs:gapz]]
, ... //