Fluxbox
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'installer le paquet fluxbox.
Démarrer Fluxbox
Une fois fluxbox installé, vous pouvez le sélectionner au moment du 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
, 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
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 :
- L'ajout du PPA ppa:jerem-ferry/fluxbox1)
Ou dans un terminal, saisir les 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.
Le papier peint
Il suffit de 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 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 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…
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 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 :
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 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 :
- 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. Installez le paquet fbdesk.
Une fois installé, é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
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, é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
- Si vous voulez quelques icônes qui vont bien avec Fluxbox, allez voler
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'installer le paquet conky.
Ensuite pour lancer conky, faites simplement :
conky
Pour mettre conky au démarrage de fluxbox, je vous renvoie sur la page 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
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 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" |
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 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} <icon_path>
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) :
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} </usr/share/pixmaps/gedit-icon.xpm>
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} </usr/share/pixmaps/devhelp-debian.xpm> [exec] (eric) {/usr/bin/eric3} </usr/share/eric/pixmaps/eric-icon.xpm> [exec] (GDB) { x-terminal-emulator -T "GDB" -e /usr/bin/gdb} <> [exec] (Glade) {/usr/bin/glade} </usr/share/pixmaps/glade.xpm> [exec] (Kiki) {/usr/bin/kiki} </usr/share/pixmaps/kiki.ico> [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} </usr/share/pixmaps/python2.4-32.xpm> [exec] (Pyunit (2.4\)) {unittestgui.python2.4} <> [exec] (SPE (Stani's Python Editor\)) {/usr/bin/spe} </usr/share/pixmaps/spe.png>
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'installer le paquet menu (dépôt universe pour Dapper) :
sudo apt-get install menu
Puis é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 :
mettre une capture (lien mort …)
P.-S. : Vous pouvez aussi configurer votre menu avec le logiciel Fluxmenu fourni avec le paquet Fluxconf (disponible dans Universe) disposant d'une interface graphique.