table of contents
AWESOMERC(5) | AWESOMERC(5) |
NOM¶
awesomerc - Fichier de configuration pour le gestionnaire de fenêtres awesome
SYNOPSIS¶
<section> [title] {
<option> = <value>
<section> [title]
{
<option> = <value>
...
}
... } <option> = <value> include(file.conf)
DESCRIPTION¶
Le fichier awesomerc contient les informations de configuration de awesome. Il peut être utilisé pour configurer le comportement et l'aspect de awesome sur beaucoup de points.
Il est lu au démarrage de awesome.
OPTIONS¶
awesomerc est composé de 5 sections globales : screen, rules, keys, mouse et menu, qui sont décrites ici.
Toutes ces sections contiennent des options qui peuvent être une chaîne de caractères, un nombre entier, un nombre décimal, ou même encore des sections.
Base sections¶
Cette section définit les options globales de awesome.
rules
menu
screen
keys
mouse
general¶
Cette section définit les options générales.
new_get_focus
floating_placement
new_become_master
sloppy_focus_raise
sloppy_focus
mwfact_lower_limit
resize_hints
snap
border
mwfact_upper_limit
opacity_focused
opacity_unfocused
key¶
Cette section définit un lien global avec les touches du clavier.
arg
command
key
modkey
keylist¶
Cette section définit les options des listes de touches du clavier.
keylist
arglist
command
modkey
keys¶
Cette section définit les options des touches.
keylist
key
layout¶
Cette section définit les options de mise en page.
image
layouts¶
Cette section définit les options des mises en page.
layout
menu¶
Cette section définit les options de menu.
styles
height
width
y
x
mouse¶
Cette section définit les options de la souris.
client
root
titlebar
mouse_generic¶
Cette section définit les liens génériques avec la souris.
button
arg
command
modkey
mouse_taglist¶
Cette section définit les liens avec la souris ou l'élément graphique de la liste d'onglets.
button
command
modkey
padding¶
Cette section définit les options de remplissage.
top
right
left
bottom
rule¶
Cette section définit les options de la règle.
opacity
name
tags
screen
float
master
xproperty_name
titlebar
xproperty_value
icon
rules¶
Cette section définit les options des règles.
rule
screen¶
Cette section définit les options d'écran.
styles
tags
statusbar
general
padding
layouts
titlebar
statusbar¶
Cette section définit les options de barre d'état.
tasklist
layoutinfo
graph
height
width
emptybox
progressbar
position
focusicon
taglist
iconbox
textbox
style¶
Cette section définit un style.
bg
fg
shadow_offset
shadow
font
border
styles¶
Cette section définit plusieurs styles en une ligne.
urgent
focus
normal
tag¶
Cette section définit les options d'onglet.
mwfact
ncol
layout
nmaster
tags¶
Cette section définit les options des onglets.
tag
titlebar¶
Cette section définit une barre de titre.
styles
align
text_align
height
width
position
widget¶
Cette section définit les options communes des éléments graphiques.
y
x
align
mouse
widget_emptybox¶
Cette section définit les options de l'élément graphique boîte vide.
style
align
width
y
x
mouse
widget_graph¶
Cette section définit les options de l'élément graphique graphe.
bordercolor
bg
data
align
height
width
y
x
mouse
grow
widget_graph_data¶
Cette section définit les options de l'élément graphique graph data.
vertical_gradient
fg_end
draw_style
scale
max
fg_center
fg
widget_iconbox¶
Cette section définit les options de l'élément graphique boîte à icône.
align
y
x
mouse
image
resize
widget_progressbar¶
Cette section définit les options de l'élément graphique barre de progression.
ticks_gap
vertical
border_padding
data
align
gap
height
width
ticks_count
y
x
border_width
mouse
widget_progressbar_data¶
Cette section définit les options de l'élément graphique graphe.
bordercolor
fg_end
bg
reverse
fg_off
fg_center
fg
widget_taglist¶
Cette section définit les options de l'élément graphique liste d'onglets.
y
x
align
mouse
widget_tasklist¶
Cette section définit les options de l'élément graphique liste de tâches.
styles
show_icons
show
text_align
y
x
mouse
widget_textbox¶
Cette section définit les options de l'élément graphique boîte à texte.
style
text
align
text_align
width
y
x
mouse
FONCTIONS UICB¶
Beaucoup de functions sont disponibles dans awesome. Ces fonctions sont appelées fonctions UICB (User Interface Call Backs, pour Appels d'Interface Utilisateur). Chaque fonction peut être liée à un raccourci-clavier ou à un bouton de la souris.
Awesome¶
quit
Client¶
client_moveresize
client_focusnext
client_swapprev
client_swapnext
client_togglehorizontalmax
client_zoom
client_toggleverticalmax
client_settrans
client_togglefloating
client_togglescratch
client_focusprev
client_kill
client_togglemax
client_setscratch
Focus¶
focus_history
focus_client_byname
Layout¶
tag_setlayout
Mouse¶
client_resizemouse
client_movemouse
Screen¶
screen_focus
client_movetoscreen
Statusbar¶
statusbar_toggle
Tag¶
tag_viewprev
tag_toggleview
tag_create
tag_viewnext
tag_view
client_tag
client_toggletag
tag_prev_selected
Titlebar¶
client_toggletitlebar
General¶
spawn
restart
exec
Widget¶
widget_tell
EXEMPLES¶
D'autres exemples sont disponibles dans le wiki d'awesome : http://awesome.naquadah.org/wiki/
Exemple de boîte de texte simple¶
1. Ajoutez une directive "include" dans ~/.awesomerc
screen 0 { include(~/.awesome/bottom-status-bar) } 2. Créez ~/.awesome/bottom-status-bar
statusbar "bottom"
{
position = "bottom"
textbox "clock" { }
} 3. Recherchez les erreurs dans le fichier de configuration
$ awesome -k
Configuration file OK.
Note : si vous voyez autre chose que "Configuration file OK.", c'est que vous avez une coquille quelque part. 4. Créez ~/bin/awesome-clock
#!/bin/sh
while true
do
# if you start this from .xinitrc, the script will start before
# awesome, and will fail.
if [ -S ~/.awesome_ctl.0 ]; then
while true
do
echo "0 widget_tell bottom clock text «date`"
echo "" # an empty line flushes data inside awesome
sleep 1
done | awesome-client
else
sleep 1
fi
done
Note : cela signifie : awesome-client, dis à l'élément graphique de la barre d'état du bas, nommé \[u00AB]clock\[u00BB] de mettre sa propriété \[u00AB]text\[u00BB] à la valeur de la date. 5. Rendez exécutable votre ~/bin/awesome-clock
$ chmod a+x ~/bin/awesome-clock 6. Modifiez ~/.xinitrc
~/bin/awesome-clock &
exec awesome 7. Redémarrez awesome 8. Si vous n'obtenez pas ce que vous attendez, allez voir le fichier ~/.xsession-errors ou bien le terminal d'où X a démarré.
Exemple de barre de progression simple¶
1. Ajoutez une directive "include" dans ~/.awesomerc
screen 0 { include(~/.awesome/bottom-status-bar) } 2. Créez ~/.awesome/bottom-status-bar
statusbar "bottom"
{
position = "bottom"
progressbar "diskusage"
{
data "disk"
{
bordercolor = "#006e96"
bg = "#000000"
fg = "#ff0000"
fg_center = "#daaf0a"
fg_end = "#00ff00"
}
width = 100
align = "left"
}
} 3. Recherchez les erreurs dans le fichier de configuration
$ awesome -k
Configuration file OK.
Note : si vous voyez autre chose que "Configuration file OK.", c'est que vous avez une coquille quelque part. 4. Créez ~/bin/awesome-diskusage
#!/bin/sh
while true
do
# if you start this from .xinitrc, the script will start before
# awesome, and will fail.
if [ -S ~/.awesome_ctl.0 ]; then
while true; do
usage = `df /dev/sda5 | awk ´/\/dev\/sda5/ { print 100-$5 }´`
echo "0 widget_tell bottom diskusage data disk ${usage}"
echo "" # an empty line flushes data inside awesome
sleep 600;
done | awesome-client
else
sleep 1
fi
done
Note : cela signifie : awesome-client, dis à l'élément graphique de la barre d'état du bas, nommé \[u00AB]diskusage\[u00BB] de mettre sa propriété \[u00AB]data\[u00BB] nommée \[u00AB]disk\[u00BB] à la valeur ${usage}. 5. Rendez executable ~/bin/awesome-diskusage $ chmod a+x ~/bin/awesome-diskusage 6. Modifiez ~/.xinitrc
~/bin/awesome-diskusage &
exec awesome 7. Redémarrez awesome 8. Si vous n'obtenez pas ce que vous attendez, allez voir le fichier ~/.xsession-errors ou bien le terminal d'où X a démarré.
SQUELETTE DE AWESOMERC¶
Le squelette suivant liste toutes les options de configuration disponibles dans awesomerc.
Note : là où il n'y a pas de blanc, les guillemets sont optionnels.
<booléen> -> true (pour vrai) ou false (pour faux)
<couleur> -> Couleur en format X ou hexadécimal (ex. #aabbcc)
<décimal> -> Nombre décimal (ex. 0.2)
<police> -> Police Pango: [FAMILY-LIST] [STYLE-OPTIONS] [SIZE] (ex.Sans Italic 12)
<identifiant> -> Nom utilisé pour identifier (ex foobar)
<image> -> Chemin vers une image (ex. /home/user/image.jpg)
<entier> -> Nombre entier signé
<touche> -> Code KeySym (ex. F10) ou code KeyCodea (ex. #120)
<mod> -> Liste de modificateurs de touches (ex. Mod1)
<expregul> -> Expression régulière
<chaîne> -> Chaîne de caractères
<liste-chaîne> -> Liste de chaînes de caractères (ex. {a, b, c, ...})
<uicb-arg> -> Argument d'une fonction uicb
<uicb-cmd> -> Fonction Uicb, voir FONCTIONS UICB
<section-style> -> Section de style : {fg= bg= border= font= shadow= shadow_offset= }
<{.., ...}> -> Liste d'options disponibles
[MULTI] -> Peut-être utilisé plusieurs fois. screen <identifier> [MULTI] {
general
{
border = <entier>
snap = <entier>
resize_hints = <booléen>
sloppy_focus = <booléen>
sloppy_focus_raise = <booléen>
new_become_master = <booléen>
new_get_focus = <booléen>
opacity_unfocused = <décimal>
opacity_focused = <décimal>
floating_placement = <{smart,under_mouse}>
mwfact_lower_limit = <décimal>
mwfact_upper_limit = <décimal>
}
titlebar
{
position = <{top, bottom, left, right, auto, off}>
align = <{auto, left, right}>
width = <entier>
height = <entier>
text_align = <{left, center, right}>
styles
{
normal
{
<section-style>
}
focus
{
<section-style>
}
urgent
{
<section-style>
}
}
}
statusbar <identifier> [MULTI]
{
position = <{top, bottom, left, right, auto, off}>
height = <entier>
width = <entier>
textbox <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
width = <entier>
text = <chaîne>
text_align = <{left, center, right}>
style
{
<section-style>
}
}
emptybox <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
width = <entier>
style
{
<section-style>
}
}
taglist <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <liste-chaîne>
command = <uicb-cmd>
}
}
layoutinfo <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
}
iconbox <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
image = <image>
resize = <booléen>
}
focusicon <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
}
progressbar <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
data <identifier> [MULTI]
{
fg = <couleur>
fg_center = <couleur>
fg_end = <couleur>
fg_off = <couleur>
bg = <couleur>
bordercolor = <couleur>
reverse = <booléen>
}
width = <entier>
gap = <entier>
border_width = <entier>
border_padding = <entier>
ticks_gap = <entier>
ticks_count = <entier>
height = <décimal>
vertical = <booléen>
}
graph <identifier> [MULTI]
{
x = <entier>
y = <entier>
align = <{auto, left, right}>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
data <identifier> [MULTI]
{
max = <décimal>
scale = <booléen>
fg = <couleur>
fg_center = <couleur>
fg_end = <couleur>
vertical_gradient = <booléen>
draw_style = <{bottom, top, line}>
}
width = <entier>
grow = <{left, right}>
height = <décimal>
bg = <couleur>
bordercolor = <couleur>
}
tasklist <identifier> [MULTI]
{
x = <entier>
y = <entier>
mouse [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
styles
{
normal
{
<section-style>
}
focus
{
<section-style>
}
urgent
{
<section-style>
}
}
text_align = <{left, center, right}>
show = <{all,tags,focus}>
show_icons = <booléen>
}
}
tags
{
tag <identifier> [MULTI]
{
layout = <chaîne>
mwfact = <décimal>
nmaster = <entier>
ncol = <entier>
}
}
styles
{
normal
{
<section-style>
}
focus
{
<section-style>
}
urgent
{
<section-style>
}
}
layouts
{
layout <title> [MULTI]
{
image = <image>
}
}
padding
{
top = <entier>
bottom = <entier>
right = <entier>
left = <entier>
} } rules {
rule [MULTI]
{
xproperty_name = <chaîne>
xproperty_value = <expregul>
name = <expregul>
tags = <expregul>
icon = <chaîne>
float = <{auto,true,false}>
master = <{auto,true,false}>
titlebar
{
position = <{top, bottom, left, right, auto, off}>
align = <{auto, left, right}>
width = <entier>
height = <entier>
text_align = <{left, center, right}>
styles
{
normal
{
<section-style>
}
focus
{
<section-style>
}
urgent
{
<section-style>
}
}
}
screen = <entier>
opacity = <décimal>
} } keys {
key [MULTI]
{
modkey = <mod>
key = <touche>
command = <uicb-cmd>
arg = <uicb-arg>
}
keylist [MULTI]
{
modkey = <mod>
keylist = <touche, ...>
command = <uicb-cmd>
arglist = <liste-chaîne>
} } mouse {
root [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
client [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
}
titlebar [MULTI]
{
modkey = <mod>
button = <chaîne>
command = <uicb-cmd>
arg = <uicb-arg>
} } menu <identifier> [MULTI] {
width = <entier>
height = <entier>
x = <entier>
y = <entier>
styles
{
normal
{
<section-style>
}
focus
{
<section-style>
}
urgent
{
<section-style>
}
} }
VOIR AUSSI¶
awesome(1) awesome-client(1) awesome-menu(1) awesome-message(1)
AUTEURS¶
Cette page de manuel a été écrite par Julien Danjou <julien@danjou.info>, Marco Candrian <mac@calmar.ws> et Chris Ciulla <chris.ciulla@gmail.com> (Exemples simples).
WWW¶
TRADUCTION¶
Ce document est une traduction, réalisée par Jean-Luc Duflot <jl POING duflot CHEZ laposte POING net> le 1er juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité.
La version anglaise la plus à jour de ce document est toujours consultable via la commande : LANGUAGE=en man awesomerc. N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
05/07/2008 |