awesome/fr
Warning: Display title "awesome/fr" overrides earlier display title "Awesome".
awesome est un gestionnaire de fenêtres pour X hautement configurable. Il est principalement destiné aux utilisateurs avancés, aux développeurs et à tous ceux qui désirent un contrôle aux petits oignons de leur environnement graphique. Il est configurable grâce au langage de programmation Lua.
Prerequisites
Services
Choose exactly one of:
- elogind: Standalone logind package, extracted from the systemd project for use with OpenRC or other init systems.
- systemd: Uses the session tracker part of systemd. Users of systemd do not need to take any other initiative here.
Miscellaneous
- D-Bus: Enables use of the D-Bus message bus system.
- polkit: Enables the polkit framework for controlling privileges for system-wide services.
- udisks: Enables support for some storage related services.
X server
Follow the instructions on Xorg/Guide to set up the X environment.
Starting the X server
One of the following methods can be used to start X:
- Display manager: Presents the user with a graphical login screen.
- X without Display Manager: When running a single-user system, one may find display managers an unnecessary waste of resources.
Installation
Drapeaux USE
USE flags for x11-wm/awesome A dynamic floating and tiling window manager
dbus
|
Enable dbus support for anything that needs it (gpsd, gnomemeeting, etc) |
doc
|
Add extra documentation (API, Javadoc, etc). It is recommended to enable per package instead of globally |
gnome
|
Add GNOME support |
test
|
Enable dependencies and/or preparations necessary to run tests (usually controlled by FEATURES=test but can be toggled independently) |
Emerge
Installez x11-wm/awesome :
root #
emerge --ask x11-wm/awesome
Configuration
Démarrage
Pour lancer awesome utilisez un Gestionnaire d'affichage ou startx.
Pour utiliser startx avec le support de ConsoleKit, installez ConsoleKit et créez le fichier suivant :
~/.xinitrc
exec ck-launch-session dbus-launch --sh-syntax --exit-with-session awesome
Fichier de configuration
Le fichier de configuration par défaut d'awesome est ~/.config/awesome/rc.lua. Si le dossier ou fichier n'existe pas, il doit être créé. Un fichier de configuration prêt à l'emploi est livré avec awesome, vous le trouverez dans /etc/xdg/awesome/rc.lua. Copiez le dans votre répertoire utilisateur.
Tout d'abord créez le dossier awesome/ :
user $
mkdir -p ~/.config/awesome/
Copiez ensuite le fichier de configuration rc.lua :
user $
cp /etc/xdg/awesome/rc.lua ~/.config/awesome/rc.lua
Si x11-terms/xterm n'est pas installé, installez le ou changez le terminal par défaut par un des terminaux présents sur votre système. Ci dessous on définit konsole, du paquet kde-base/konsole, comme terminal par défaut.
~/.config/awesome/rc.lua
-- This is used later as the default terminal and editor to run. terminal = "konsole"
Après avoir fait des modifications, il peut être utile de vérifier qu'il n'y a pas d'erreur dans le fichier de configuration :
user $
awesome -k
✔ Configuration file syntax OK
On peut utiliser le paquet media-gfx/feh pour gérer le fond d'écran.
root #
emerge --ask media-gfx/feh
Par exemple, pour utiliser awsetbg pour définir le fond d'écran, éditez ~/.config/awesome/theme/theme.lua :
~/.config/awesome/theme/theme.lua
Setting a specific background using awsetbgtheme.wallpaper_cmd = { "awsetbg -f .config/awesome/themes/awesome-wallpaper.png" }
Or simply set the wallpaper property of the theme:
~/.config/awesome/theme/theme.lua
Setting a specific background using the wallpaper propertytheme.wallpaper = ".config/awesome/themes/awesome-wallpaper.png"
Tags
Dans awesome, on nomme tags les différents bureaux virtuels dans lesquels une ou plusieurs applications sont ouvertes. On peut définir pour chaque tag un symbole particulier :
~/.config/awesome/rc.lua
-- {{{ Tags tags = {} for s = 1, screen.count() do tags[s] = awful.tag({ "➊", "➋", "➌", "➍" }, s, layouts[1]) end -- }}}
Menu
Ci dessous un exemple de menu awesome personnalisé :
~/.config/awesome/rc.lua
-- {{{ Menu myawesomemenu = { { "manual", terminal .. " -e man awesome" }, { "edit config", editor_cmd .. " " .. awesome.conffile }, { "reload", awesome.restart }, { "quit", awesome.quit }, { "reboot", "reboot" }, { "shutdown", "shutdown" } } appsmenu = { { "urxvt", "urxvt" }, { "sakura", "sakura" }, { "ncmpcpp", terminal .. " -e ncmpcpp" }, { "luakit", "luakit" }, { "uzbl", "uzbl-browser" }, { "firefox", "firefox" }, { "chromium", "chromium" }, { "thunar", "thunar" }, { "ranger", terminal .. " -e ranger" }, { "gvim", "gvim" }, { "leafpad", "leafpad" }, { "htop", terminal .. " -e htop" }, { "sysmonitor", "gnome-system-monitor" } } gamesmenu = { { "warsow", "warsow" }, { "nexuiz", "nexuiz" }, { "xonotic", "xonotic" }, { "openarena", "openarena" }, { "alienarena", "alienarena" }, { "teeworlds", "teeworlds" }, { "frozen-bubble", "frozen-bubble" }, { "warzone2100", "warzone2100" }, { "wesnoth", "wesnoth" }, { "supertuxkart", "supertuxkart" }, { "xmoto" , "xmoto" }, { "flightgear", "flightgear" }, { "snes9x" , "snes9x" } } mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu }, { "apps", appsmenu }, { "games", gamesmenu }, { "terminal", terminal }, { "web browser", browser }, { "text editor", geditor } } }) mylauncher = awful.widget.launcher({ image = image(beautiful.awesome_icon), menu = mymainmenu }) -- }}}
Date
Ci dessous un exemple d'utilisation d'un format de date personnalisé. La syntaxe utilisée pour le formatage est %d.%m %H:%M
. La seconde option, 60, est l'intervalle de rafraîchissement, en secondes.
~/.config/awesome/rc.lua
Creating a text-clock widget-- {{{ Wibox -- Create a text-clock widget mytextclock = wibox.widget.textclock(" %d.%m %H:%M ", 60) -- }}}
Pour plus d'informations sur les options de formatage de la date, lancez date --help.
Controleur de volume
Le paquet media-sound/volumeicon peut être utiliser pour gérer les touches de volumes automatiquement et afficher les informations concernant le volume dans la zone de notification.
root #
emerge --ask media-sound/volumeicon
Lancement automatique de volumeicon} via ~/.xinitrc :
~/.xinitrc
Launching volumeicon in the background when starting Xvolumeicon & exec [...]
Une méthode alternative consiste à configurer les touches de volume directement dans le fichier de configuration d'awesome :
~/.config/awesome/rc.lua
Volume keysawful.key({ }, "XF86AudioLowerVolume", function () awful.util.spawn("amixer -q sset Master 2dB-") end) awful.key({ }, "XF86AudioRaiseVolume", function () awful.util.spawn("amixer -q sset Master 2dB+") end)
Touches multimedia MPD
Installez media-sound/mpc pour avoir le support des touches multimédias pour MPD :
root #
emerge --ask media-sound/mpc
Mettez à jour le fichier de configuration d'awesome pour assigner les touches multimédias aux commandes correspondantes :
~/.config/awesome/rc.lua
Volume key bindingsawful.key({ }, "XF86AudioNext",function () awful.util.spawn( "mpc next" ) end), awful.key({ }, "XF86AudioPrev",function () awful.util.spawn( "mpc prev" ) end), awful.key({ }, "XF86AudioPlay",function () awful.util.spawn( "mpc play" ) end), awful.key({ }, "XF86AudioStop",function () awful.util.spawn( "mpc pause" ) end),
Removing window gaps
Gaps between windows can be visible, most noticeably between terminal windows. These can be removed by inserting the size_hints_honor = false
property in the awful.rules.rules
table like this:
~/.config/awesome/rc.lua
Setting size_hints_honor propertyawful.rules.rules = { { rule = { }, properties = { size_hints_honor = false, -- Remove gaps border_width = beautiful.border_width, border_color = beautiful.border_normal, ...
Déboguer le fichier de configuration avec Xephyr
Xephyr est un outil très pratique pour corriger les erreurs de configuration. Il crée une instance d'un serveur X dans une fenêtre client.
user $
Xephyr -ac -nolisten tcp -br -noreset -screen 800x600 :1
Cela ouvrira une fenêtre de 800x600. Pour y lancer awesome, ouvrez un terminal et exécutez la commande :
user $
DISPLAY=:1.0 awesome
Cela lancera awesome dans la fenêtre.
Raccourcis clavier
Voici une liste des principaux raccourcis clavier par défaut.
- mod4+mouse1 = déplacer le client avec la souris
- mod4+mouse2 = redimmensionner le client avec la souris
- mod4+enter = ouvre un terminal
- mod4+r = Éxécute la commande
- mod4+shift+c = "tuer" l'application
- mod4+m = Maximiser
- mod4+n = Minimiser
- mod4+ctrl+n = Restaure les clients minimisés
- mod4+f = Plein écran
- mod4+tab = bascule vers le client précédent
- mod4+ctrl+space = fenêtre flottante
- mod4+j = active le client de gauche
- mod4+k = active le client de droite
- mod4+shift+j = déplace le client vers la droite
- mod4+shift+k = déplace le client vers la gauche
- mod4+l = redimensionne un client lorsqu'on est en mode mosaïque (tiling)
- mod4+h = redimensionne un client lorsqu'on est en mode mosaïque (tiling)
- mod4+left / right = déplace vers le tag de gauche/ droite
- mod4+1-9 = déplace vers le tag n° 1 à 9
- mod4+shift+1-9 = envoie le client vers le tag
On peut ainsi définir n'importe quel raccourci clavier. Par exemple pour utiliser Alt+Tab pour basculer sur la fenêtre précédente :
~/.config/awesome/rc.lua
Alt-TAB key binding-- {{{ Key bindings globalkeys = awful.util.table.join( ... -- alt + tab awful.key({ "Mod1", }, "Tab", function () awful.client.focus.history.previous() if client.focus then client.focus:raise() end end), -- }}}
Ressources externes
- User Configuration Files sur le wiki d'awesome