News | About | Get Frugalware | Packages | Documentation | Discussion Forums | Bug Tracker | Wiki | Community | Development

Awesome (Français)

From FrugalWiki

Jump to: navigation, search


Contents

Awesome

Awesome est un gestionnaire de fenêtres pour x11. Il fait partie des gestionnaires de fenêtres appelés «Tiling», qui privilégient l'utilisation du clavier plutôt que la souris (même si on peut parfaitement se servir de celle-ci) et un comportement dynamique du placement des fenêtres.

Installation

Root terminal 48px.png
# pacman-g2 -S awesome


Fonctionnement du mode Tiling

On pourrait traduire tiling par carrelage. Le principe de gestion des fenêtres (applications et réglages systèmes) est différent des gestionnaires traditionnels. En effet, l'écran est tout le temps rempli. Il existe plusieurs «layouts» de tiling, que l'on peut commuter en pressant «Mod4» et «Espace», ce qui permet de choisir la meilleure disposition selon les applications et ses préférences. Un mode non tiling est également disponible. Certaines applications, comme Gimp ou Mplayer n'étant pas forcément très adapté à ce comportement.

Mode tiling
Autre layout
layout «free»

Quelques commandes de base pour manipuler, naviguer :

  • Mod+f place la fenêtre active en plein écran.
  • Mod+Return lance un terminal
  • Mod+p pour lancer une application
  • Mod+Tab bascule entre les derniers clients (fenêtres) focusés.
  • Mod+j,k pour basculer le focus entre les fenêtres
  • Mod+h,l pour augmenter ou diminuer la largeur de la fenêtre active.
  • Shift+Mod+h,j,k,l pour déplacer la fenêtre active (h: gauche, j: bas, k: haut, l: droite)
  • Mod+1,9 bascule entre les tags.
  • Shift+Mod+1,9 envoie la fenetre active au tag N.

Les tags

Dans Awesome, il existe une caractéristique très intéressante. Les habitués des systèmes GNU/linux connaissent bien les bureaux virtuels (workspaces) qui permettent de séparer certaines applications et alléger l'écran. Awesome possède cette fonction mais l'associe avec des tags. D'origine, ces tags sont numérotés de 1 à 9 mais il est possible d'attribuer des noms à ces tags (plus simple de s'y retrouver. Il est également possible de spécifier un layout spécifique à chaque tag.

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {
   names = { "[1:net]", "[2:mail]", "[3:jabber]", "[4:files]", "[5:office]", "[6:medias]", "[7:root]", "[8:ssh]", "[9:redac]" },
   layout = { layouts[2], layouts[2], layouts[4], layouts[2], layouts[1], layouts[1], layouts[2], layouts[2], layouts[2] }
    }
for s = 1, screen.count() do
   -- Each screen has its own tag table.
   tags[s] = awful.tag(tags.names, s, tags.layout)
end
-- }}}

Et il est possible d'assigner des règles (rules) pour assigner une application à un tag :

-- {{{ Rules
awful.rules.rules = {
   -- All clients will match this rule.
   { rule = { },
     properties = { border_width = beautiful.border_width,
                    border_color = beautiful.border_normal,
                    focus = true,
                    keys = clientkeys,
                    buttons = clientbuttons } },
   { rule = { class = "MPlayer" },
     properties = { floating = true } },
   { rule = { class = "pinentry" },
     properties = { floating = true } },
   { rule = { class = "gimp" },
     properties = { floating = true } },
   -- Set Firefox to always map on tags number 1 of screen 1.
   { rule = { class = "Firefox" },
     properties = { tag = tags[1][1] } },
   -- Set Thunderbird to always map on tags number 2 of screen 1.
   { rule = { class = "Claws-mail" },
     properties = { tag = tags[1][2] } },
   -- Set gajim to always map on tags number 3 of screen 1.
   { rule = { class = "Gajim" },
     properties = { tag = tags[1][3] } },
   -- Set pino to always map on tags number 3 of screen 1.
   { rule = { class = "Pino" },
     properties = { tag = tags[1][3] } },
   -- Set hotot to always map on tags number 3 of screen 1.
   { rule = { class = "Hotot" },
     properties = { tag = tags[1][3] } },
   -- Set libreoffice-impress to always map on tags number 5 of screen 1.
   { rule = { class = "libreoffice-impress" },
     properties = { tag = tags[1][5] } },
   -- Set Gthumb to always map on tags number 6 of screen 1.
   { rule = { class = "Gthumb" },
     properties = { tag = tags[1][6] } },
   -- Set Gimp to always map on tags number 6 of screen 1.
   { rule = { class = "gimp" },
     properties = { tag = tags[1][6] } },
   -- Set rednotebook to always map on tags number 5 of screen 1.
   { rule = { class = "Rednotebook" },
     properties = { tag = tags[1][5] } },
}
-- }}}

Pour connaitre la classe de l'application, utilisez xprop en console ;)

Personnalisation

Tout comme Openbox ou Wmii, Awesome demande un peu de temps pour régler le système à votre main. Tout est à priori possible, en éditant le fichier de configuration :

User terminal 48px.png
$ vim ~/.config/awesome/rc.lua

Dans ce fichier, vous pouvez configurer la touche "Mod" qui est la touche clé de Awesome (Pour utiliser la touche "super", indiquez "Mod4". Pour "Alt", mettez "Mod1"), les raccourcis clavier, le thème de couleur et les applications lancées au démarrage.

Exemple de quelques raccourcis pour lancer directement des applications à l'aide de raccourcis claviers :

awful.key({ "Control"}, "e", function () awful.util.spawn("firefox") end),
awful.key({ "Control"}, "q", function () awful.util.spawn("claws-mail") end),
awful.key({ "Control"}, "t", function () awful.util.spawn("gajim & hotot & pino") end),
awful.key({ "Control"}, "k", function () awful.util.spawn("rednotebook") end),
awful.key({ "Control"}, "l", function () awful.util.spawn("libreoffice") end),
    

Les applications à lancer au démarrage :

-- Démarrage
awful.util.spawn("setxkbmap fr bepo &")
os.execute("parcellite &")

Mise en place

Pour pouvoir utiliser Awesome, il suffit de rajouter la session awesome à votre bootmanager. voici la section du fichier de configuration de slim.


 # /etc/slim.conf
 login_cmd           exec /bin/sh - ~/.xinitrc %session
 
 # Available sessions (first one is the default).
 # The current chosen session name is replaced in the login_cmd
 # above, so your login command can handle different sessions.
 # see the xinitrc.sample file shipped with slim sources
 sessions            wmii,openbox,xfce4,e17,wmaker,awesome


Et le fichier ~/.xinitrc qui permet de basculer entre vos WM.il peut être nécessaire d'y ajouter l'export de la lanque pour pouvoir avoir les caractères accentués dans le terminal

 export LANG=fr_FR.utf8
 # the following variable defines the session which is started if the user doesn't explicitly select a session
 
 DEFAULT_SESSION=awesome
 
 case $1 in
 
 xfce4)
 	exec startxfce4
 	;;
 wmaker)
 	exec wmaker
 	;;
 e17)
 	exec enlightenment_start
 	;;
 openbox)
 	exec openbox-session
 	;;
 awesome)
 	exec awesome
 	;;
 
 wmii)
 	exec wmii
 	;;
 *)
 	exec $DEFAULT_SESSION
 	;;
 
 esac


Ressources

Voici quelques liens glanés lors de mes recherches, en espérant qu'ils vous soit utiles !

Personal tools
Namespaces
Variants
Actions