Page 1 sur 1

[Tutorial] Awesome Window Manager

Publié : 29 oct. 2009 16:35
par Engil Hramn
Awesome WM, défini de base comme un simple « tiling wm » est en réalité bien plus que ça.
Les possibilités nombreuses de configurations qu'il offre, la puissance et la modularité de sa configuration en font un outil ayant des possibilités infinies, mais le rendant particulièrement complexe.
C'est pour cela que je m'attelle à la rédaction de cet How-to.
Il ne se veut pas être complet, ni techniquement parfait, mais son but est de vous aider à faire vos premiers pas dans le monde d'Awesome, en vous guidant, tout comme je l'ai été.
Cela ne sera pas un « tu paste et ça roule », il vous faudra mettre les mains dans le cambouis afin de configurer votre wm, mais mes indications seront là pour ça.

Sur ce, bonne chance, et surtout: amusez vous bien !

Image

Index du tutorial

[/size]

Note: Ce tutoriel ne concerne qu'Awesome 3.4, et n'est pas valable pour les plus vieilles version.
Il sera mis à jour a chaque nouvelle version du WM.

Préconfiguration

Publié : 29 oct. 2009 16:39
par Engil Hramn
Il nous faudra tout d'abord installer certaines librairie manquante, et récupérer quelques ressources.
Pour ce faire, il va vous falloir créer un dossier ~/.config/awesome, et suivre les instructions suivantes.

Nous aurons besoin avant tout de Shifty, une librairie de taging dynamique plus évoluée que le système de tag d'Awesome par défaut et de Vicious, la librairie gérant vos widgets
Pour Shifty, il vous faudra enregistrer une version spécifique, mise à jour pour fonctionner sous la version 3.4 d'Awesome, version que l'on trouvera ici (renommez le fichier en shifty.lua):
http://github.com/bioe007/awesome-confi ... shifty.lua

Pour Vicious, regardez par ici:
http://git.sysphere.org/vicious/
Il vous suffit de sélectionner un archive tar.zg de vicious dans la section Download, et de décompresser l'archive dans .config.
(Attention cependant ! une fois décompressée, l'archive se nommera vicious1.0.***, ce qui correspond à son nom de version.
Il vous faut renommer le dossier en vicious tout court, sinon cela ne fonctionnera pas.)

Pour ceux désirant un Drop Down terminal, c'est à dire un terminal masqué en temps normal et qui apparaît à la demande de l'utilisateur via un raccourci clavier, téléchargez la librairie teardrop.lua:
http://git.sysphere.org/awesome-configs ... 5961111d3d

Screenshot de Teardrop:
Image

Pour ceux désirant Revelation, un plugin permettant d'afficher via un raccourci clavier toutes vos fenêtre existantes sur un seul bureau, téléchargez cette librairie:
http://github.com/bioe007/awesome-confi ... lation.lua

Screenshot de Revelation
Image

Tout ces fichiers doivent être enregistrés dans le dossier ~/.config/awesome afin d'être prises en compte par votre fichier de configuration.


Il nous manques des icônes aussi, téléchargez ce pack d'icônes:
http://silverstrate.org/no~star/awesome/icons2.tar.gz
Et extrayez son contenu dans le répertoire ~/.config/awesome/
(icône trouvées par ici, et légèrement modifiée, merci à lui !.)

À ce niveau, un ls dans .config/awesome/ doit vous répondre:
teardrop.lua revelation.lua shifty.lua vicious/ icons2/

Si vous voulez un autre thème...
http://silverstrate.org/no~star/awesome/fiesta.tar.gz
et extrayez le contenu de l'archive dans un dossier ~/.config/awesome/themes/

Nous attaquerons ensuite la configuration même du wm, soyez prêt !

Commencement puis élaboration de votre environnement de trav

Publié : 29 oct. 2009 16:42
par Engil Hramn
Note: Je vous recommande grandement l'utilisation d'un éditeur de texte supportant la coloration syntaxique, afin de rendre le travail sur le fichier plus visuel et agréable.
Le fichier étant en lua, il faut vous assurer que votre éditeur supporte la coloration pour ce langage.
Gedit peut faire parfaitement l'affaire si vous ne savez pas quoi prendre.

Un éditeur avec coloration syntaxique (c'est quand même plus agréable, non ?):

Image

Récupérez à présent votre fichier de configuration: le rc.lua. (le mien en l'occurrence.)
Le mien est disponible ici: http://silverstrate.org/no~star/awesome/rc.lua
Téléchargez-le et déposez-le dans le dossier ~/.config/awesome/
Armez vous de votre éditeur de texte favori et éditez-le.

Tout d'abord, attaquons nous à cette partie du fichier :

Code : Tout sélectionner

-- Standard awesome library
require("awful")
require("awful.autofocus")
require("awful.rules")
-- Theme handling library
require("beautiful")
-- Notification library
require("naughty")
--require("vicious")
-- Load Debian menu entries
require("debian.menu")
-- Custom libraries
require("revelation")
require("shifty")
require("vicious")
require("teardrop")
En dessous de la mention Custom Libraries, vous devez ajouter un « -- » devant chaque « require » appelant une librairie que vous n'avez pas téléchargée.
Par exemple, si vous n'avez pas eu envie d'utiliser Teardrop, vous devez modifier la ligne afin qu'elle ressemble à ceci:
--require("teardrop")
Cela aura pour effet de commenter la ligne et donc désactiver le module.
De même, pour ceux n'utilisant pas Debian, il est plus prudent de commenter la ligne appelant le Debian.menu, elle n'est de toute façon pas essentielle.

Une fois ceci fait, il vous faut adapter la ligne renvoyant vers le thème :

beautiful.init("/home/engil/.config/awesome/themes/fiesta/theme.lua")

Remplacez simplement engil par votre nom d'utilisateur.
Si vous voulez utiliser un autre thème, il en existe dans /usr/share/awesome/themes/, faites vous plaisir.


Shifty: Organisons votre espace de travail


Par la suite vient la section configurant les tag du wm.
Un tag, correspond en gros à un bureau, et Awesome permet à l'aide de Shifty de gérer finement ses tag, d'en créer spécialement pour une application... ect.
Voici à quoi ressemble la liste de tag dans l'interface d'awesome.

Image

Code : Tout sélectionner

shifty.config.tags = {

    ["[urxvt]"] = { position = 1, init = true, },
    ["[www]"]  = { position = 2,  spawn = browser,},
    ["[gimp]"] = { position = 6, exclusive = true, nopopup = true, spawn = gimp, },
    ["[irc]"]  = { position = 3,  nopopup = true, spawn = "rxvt-unicode -T weechat -e weechat-curses"  },
    ["[sys]"]  = { position = 5, exclusive = true,  nopopup = true, },
    ["[msg]"]  = { position = 7, exclusive = true,  nopopup = true,  },
    ["[view]"] = { position = 8, exclusive = true, nopopup = true,  },
    ["[vbox]"] = { position = 9, exclusive = true, nopopup = true,  },
    ["[mail]"] = { position = 10, exclusive = true, nopopup = true,  },
    ["[med]"] = { position = 11, nopopup = true,                      },
   -- ["[mplayer]"] = { position = 11, nopopup = true, spawn = "rxvt-unicode -T mplay"},
    ["[bt]"] = { position = 11, nopopup = true, spawn = "Transmission"},

Le nom du tag se situe entre le [" et le "]: exemple ["nom-du-tag"]
Il existe diverses options, en voici quelques exemples:
init, qui si elle est placée sur true, affiche le tag directement au démarrage du wm, sinon il n'apparaîtra que quand une application l'appellera.
Position défini dans quel ordre se trouvera ce tag dans la taglist... le 1 sera donc le plus à droite.
persist, lui, indique que lorsque la dernière fenêtre d'un tag est fermée, le tag ne sera pas détruit, et restera donc acessible. (init n'a pas besoin de persist donc.)
nopopup, indique que lors de la création du tag, celui ci ne doit pas être affiché à l'écran. (en effet, lorsqu'un tag est créé, le focus se passe immédiatement dessus, ce paramètre vous permet donc d'éviter ce comportement envahissant.)

Pour plus d'information, vous pouvez lire la documentation sur Shifty, disponible sur le wiki d'awesome:
http://awesome.naquadah.org/wiki/Shifty/fr

Une autre étape importante de votre configuration, c'est celle du pré réglage des clients, un client c'est, en gros, une fenêtre, et on peut lui appliquer divers réglages comme lui définir un tag qui lui sera propre, et bien d'autres choses.

Code : Tout sélectionner


 { match = {"Transmission"                    }, tag = "[bt]" },
         { match = {"^Download$", "Preferences", "VideoDownloadHelper" }, float = true, intrusive = true },
         { match = {"Firefox","Iceweasel","Vimperator","Shiretoko"} , tag = "[www]", opacity = 1.0       } ,
         { match = { "WeeChat 0.2.6.2","weechat-curses","weechat"     }, tag = "[irc]" ,                 },
         { match = {"Gimp"                           }, tag = "[gimp]",  float = true , opacity = 1.0    },
         { match = {"gimp-image-window"              }, slave = true,  opacity = 1.0                     },
         { match = {"MPlayer","ffplay"                       }, float = true,  opacity = 1.0             },
         { match = {"alpine"                    }, tag = "[mail]",                                       },
         { match = {"med"                          }, tag = "[med]"                                      },
         { match = {"ncmpcpp","ncmpc++ ver.0.3.4","med"                }, tag = "[med]",                 },
         { match = {"Pidgin"                         }, tag = "[msg]", float = true                      },
         { match = {"htop"                           }, tag = "[sys]",                                   },
         { match = {"VirtualBox"                     }, tag = "[vbox]", float = true,  opacity = 1.0     },
         { match = {"lxappearence"                   }, float = true, opacity = 1.0                      },
         { match = {"gpicview"                       }, float = true, tag = "[view]",                    },
         { match = { "" },
                   buttons = awful.util.table.join(
                       awful.button({ }, 1, function (c) client.focus = c; c:raise() end),
                    awful.button({ modkey }, 1, awful.mouse.client.move),
                     awful.button({ modkey }, 3, awful.mouse.client.resize),
              awful.button({ modkey }, 8, awful.mouse.client.resize))
Pour paramétrer le comportement d'une application, il vous faut son WM_class, qui est une information que vous donne la commande xprop (une fois lancée, cliquez simplement sur l'application visée et lisez la sortie de xprop)
La WM_class de Virtualbox est par exemple VirtualBox, la casse compte donc.
Une fois que vous avez obtenu la class de votre programme, il faut lui créer une ligne lui correcpondant:
{ match = {"mon_application"... et lui entrer les bon paramètre.
Basiquement, on lui dira dans quel tag il va, via le paramètre tag, mais on peut également définir son opacité (nous verrons plus tard comment l'activer), ou rendre la fenêtre flottante, comme le ferait un WM normal. (c'est utile pour les lecteurs video par exemple, ce n'est jamais agréable d'avoir une image toute déformée.)

Prenons un exemple:
{ match = {"MPlayer","ffplay" }, float = true, opacity = 1.0 },
Ici, l'application MPlayer et ffplay, des lecteurs vidéos, non pas de tag défini, ce qui veut dire que l'application une fois lancée restera dans le tag actuel, float est réglé sur true, ce qui indique que la fenêtre sera flottante, et ne subira donc pas de déformation et sera pleinement manipulable à la souris, et opacity est réglé sur 1.0, la fenêtre ne sera donc pas transparente.

Voici le résultat final pour Mplayer:
Image
La fenêtre est donc flottante, c'est à dire qu'elle se trouve au dessus des autres est n'est pas tilée par Awesome, et elle n'est pas transparente.

Voilà, faites vous plaisir maintenant, c'est le plus gros travail à faire pour vous je pense, il va vous falloir définir un comportement pour chaque application que vous utilisez régulièrement.

Code : Tout sélectionner

shifty.config.defaults = {
  layout = awful.layout.suit.tile,
  ncol = 1,
  mwfact = 0.50,
  floatBars=false,
Ici, pas grand chose, vous pouvez laisser comme ça, sauf, à la rigueur, modifier floatBars sur true, qui permet d'obtenir une petit fenêtre comme tout bon WM possède, et mieux manipuler les applications flottante (comme MPlayer dans cet exemple)

Widget et Wibox: L'inutile indispensable

Publié : 29 oct. 2009 16:46
par Engil Hramn
Continuons d'avancer dans le code...

Pour les non utilisateurs de Debian, vient ensuite ce bout de code:

Code : Tout sélectionner

}

mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                    { "Debian", debian.menu.Debian_menu.Debian },
                                    { "open terminal", terminal }
                                  }
Que vous devez modifier comme ceci:

Code : Tout sélectionner

}

mymainmenu = awful.menu({ items = { { "awesome", myawesomemenu, beautiful.awesome_icon },
                                --    { "Debian", debian.menu.Debian_menu.Debian },
                                    { "open terminal", terminal }
                                  }
En effet, vous n'utilisez pas, enfin par définition dans le surnom que je vous donne, Debian. ;-)

Par la suite vient... la configuration de vos widgets et de votre panel: Wibox:

Des widgets et des panels, pour améliorer le quotidiens

La configuration des widget peut être laissée telle quelle, les couleurs ne se paramètrent de toute façon pas ici, mais dansle thème que nous allons voir après.
J'ai laissé des commentaires dans le fichier pour identifier aisément les différents widget, donc pas trop de problème de ce coté là.

Notons le Net Widget, il vous faudra modifier eth0 par le nom de votre interface réseau si ce n'est pas celui ci (comme eth1 ou wlan0)

netwidget = widget({ type = "textbox", name = "netwidget" })
vicious.register(netwidget, vicious.widgets.net, '<span color="'.. beautiful.fg_end_widget ..'">${eth0 down_kb}</span> <span color="'.. beautiful.fg_widget ..'">${eth0 up_kb}</span>', 3)


J'oubliais ! Le MPD Widget est un widget permettant d'afficher la lecture en cours par le logiciel MPD, un lecteur de musique fonctionnant sur l'architecture client/serveur.
Si vous ne l'utilisez pas, il est important de commenter tout ce qui le concerne, c'est à dire:

Code : Tout sélectionner

netwidget       = widget({ type = "textbox", name = "netwidget" })
vicious.register(netwidget, vicious.widgets.net, '<span color="'.. beautiful.fg_end_widget ..'">${eth0 down_kb}</span> <span color="'.. beautiful.fg_widget ..'">${eth0 up_kb}</span>', 3)
Et:

Code : Tout sélectionner

mpdwidget, mymusicicon, 
Sinon awesome plantera au démarrage.

Ici arrive l'essentiel dans la construction de votre interface:
L'élaboration de votre Wibox (La wibox correspond au panel, chez d'autres wm ;) )

C'est cette partie qui nous intérresse:

Code : Tout sélectionner

    -- Create the wibox
    mywibox[s] = awful.wibox({ position = "top", screen = s })
    -- Add widgets to the wibox - order matters
    mywibox[s].widgets = {
          {
       --     mylauncher,
            mytaglist[s],
            mypromptbox[s],
            layout = awful.widget.layout.horizontal.rightleft
        },
        mylayoutbox[s],
  --      memwidget,       
        datewidget, mytimeicon,
        s == 1 and mysystray or nil,
        myspacer,
        mpdwidget, mymusicicon,  
        myspacer,
        fswidget, mydiskicon,
        myspacer,
        myneticonup, netwidget, myneticon,
        myspacer,
        cpuwidget,
        mycpuicon,
        myspacer,
        memwidget,
        mymemicon, 
        layout = awful.widget.layout.horizontal.rightleft
    }

Ici se trouve l'organisation des widgets sur votre panel, et ils seront affiché dans l'ordre dans lequel ils seront appelés dans ce fichier, de droite à gauche sur le panel.
Vous pouvez donc désactiver les widget dont vous n'avez pas l'utilité en commentant l'entrée l'appelant (à l'aide de « -- »)
Si par exemple, vous n'avez que faire de la consommation CPU, transformez la ligne cpugraphwidget, mycpuicon, en
-- cpugraphwidget, mycpuicon,
Ceci désactivera donc le graphique d'utilisation du cpu.

Les Myspacer correspondent tout simplement à un espace (idée volée à Shikamaru de Shikamaru.fr, dans son fichier de configuration, merci à lui), de même pour les myseparator, qui affichent un |.
Vous pouvez donc modifier l'ordre des widget ou ajouter des espaces et des séparateurs selon votre gout.
De base, j'ai aussi désactivé le menu de lancement, qui peut être pratique lorsque les raccourcis claviers sont en l'air ou que vous n'aimez pas utiliser de prompt pour lancer vos applications... retirez simplement le « -- » de la ligne
-- mylauncher,

Cela affichera donc un joli « a » à coté de votre liste de tag, vous permettant de redémarrer awesome ou de lancer une application si vous utilisez le Debian menu.

Et voici le résultat final après configuration:

Image

Keybindings et thèmes: votre wm vous ressemble vraiment.

Publié : 29 oct. 2009 16:49
par Engil Hramn
Dernière grosse étape de configuration: les raccourcis claviers d'awesome.

Gérez vos raccourcis claviers

Il n'est pas utile de modifier ceux de base créés par le wm, je vous ferez un rapide manuel de son utilisation plus tard, mais il est toujours bon de se faire ses propres raccourcis à soi !
Rendez vous donc dans la section Keybindings Perso
On y trouve déjà les miens, analysons les pour comprendre le fonctionnement de la syntaxe des raccourcis:

awful.key({ modkey2}, "Right", function () awful.util.spawn("amixer -q sset Front 2dB+") end),
awful.key({ modkey}, "v", function () awful.util.spawn("apps") end),


Le keybinding commence par awful.key, ensuite vient la configuration des touches correspondantes au raccourci:
modkey, comme nous le verrons plus tard, est la touche essentielle d'awesome, elle correspond à la touche Windows, ou Drapeau de votre clavier, pour enclencher le raccourci, il vous faudra donc la maintenir.
Après, on défini entre guillemet la touche qui devra être associée à modkey pour lancer le raccourci, ici Right, correspondant à la touche flêche Droite, et la lettre v.
Puis on appelle la fonction awful.util.spawn, qui va nous permettre d'exécuter une commande que l'on placera entre parenthèses puis entre guillemets, par exemple le raccourci avec la touche Right augmentera le son de 2 via la commande amixer, et le raccourci ave la touche v lancera un script personnel se nommant apps, et exécutant divers programme.

Vous savez maintenant comment un peu près créer vos raccourci... en cas de doute, copiez/collez simplement un raccourci existant et modifiez le à votre envie.
Notez également la présence de cette documentation sur les librairies d'Awesome: http://awesome.naquadah.org/doc/api/
Vous trouverez les différentes fonctions qui peuvent être utilisées, et les ajouter dans vos raccourcis. (regardez awful.client pour gérer vos client par exemple... ou renseignez vous à l'aide de cette documentation sur ce que fait un keybindings précis.)


Notez qu'il est possible de défnir une seconde touche à presser en même temps que modkey, comme Shift ou Control, exemple ici:

awful.key({ modkey, "Shift" }, "l", function () awful.tag.incnmaster(-1) end),

Note: dans les raccourci, il y en a un à désactiver si vous n'utilisez pas la librairie Revelation:

-- awful.key({ modkey }, "Down", revelation.revelation),

Et ceci pour ceux n'utilisant pas la librairie Teardrop:

-- awful.key({ modkey },"x", function () teardrop("urxvtc", "center") end),

Si vous utilisez Teardrop, remplacez simplement le nom du terminal (ici, urxvtc) par celui que vous utilisez d'habitude, vous pouvez également changer son positionnement (en remplaçant "Center" par bottom ou top)
Plus d'informations sont disponible en lisant le fichier teardrop.lua.

Nous en avons fini avec le rc.lua dorénavant.
J'espère que vous avez tenu jusque ici, car ce n'est pas terminé, nous allons nous attaquer au thème à présent.


L'apparence de votre Window Manager

Si par exemple vous avez pris le parti d'utiliser mon thème, il vous faudra éditer le fichier .config/awesome/themes/fiesta/theme.lua.
Éditez tout d'abord le path du wallpaper, si ce n'est pas déjà fait:

theme.wallpaper_cmd = { "awsetbg -c /home/engil/wallpapers/tomate.jpg"


La structure d'un thème n'est pas compliquée, donc vous pouvez vous amuser à la customiser vous même assez facilement.
Inspirez vous également de ceux disponibles dans /usr/share/awesome/themes/, leurs icônes peuvent être d'excellentes ressources (j'ai un faible pour celles de Zenburn, donc j'en met partout dans mes thèmes)

Notez la possibilité de paramètre la transparence via les lignes suivantes:

theme.opacity_focus = 0.95
theme.opacity_normal = 0.90

La ligne focus désignant le degré d'opacité de la fenêtre active, et normal, celui de la fenêtre non active.
(pour les valeurs, 1.0 représentant l'opacité totale, et 0.0... la transparence totale \o/, à vous de trouver ce que vous préférez, en tout cas je favorise largement une transparence discrète mais pas désagréable pour un terminal.)

Le problème de ce paramètre, c'est que cela va être appliqué à toutes vos applications, si vous voulez que certains ne soit pas transparente (comme Firefox, qui n'aime pas vraiment ça, votre lecteur vidéo ou Gimp,), il vous faudra régler le paramètre opacity = 1.0 dans votre configuration pour Shifty, et ce pour chaque application visée.

Le thème que j'ai créé (en me basant pour la forme, de Zenburn d'anxrc) se nomme Lapin.lua, un nom un peu stupide mais aux couleurs assez sympathique, du vert pour le focus et en contour des fenêtres, et du orange quand un tag passe en Urgent (lorsque que votre mailer à reçu un message par exemple)

Pour finir, vous pouvez choisir les trois couleurs qui comperont vos widget en définissant les variable suivantes:

theme.fg_widget = "#a3d069"
theme.fg_center_widget = "#cf8134"
theme.fg_end_widget = "#fc3200"


La première représente le vert chez moi, et également le début des graphique d'utilisation ram/cpu.
La deuxième représente le milieu des graphiques.
Et la troisième le Orange, mais aussi la fin des graph d'utilisation.

À vous de moduler en fonction de vos envies. ;)

Screenshot:
Image

Il est aussi possible qu'après démarrage, vos applications GTK soit toutes grises et laides.. il vous faut spécifier un thème dans le fichier ~/.gtk2-rc: pour ce faire, on peut utiliser des logiciels comme lxappearence ou gtk2-thme-switch, disponibles dans les dépôts de toute bonne distribution.

Fin: Démarrage, manuel et ressources.

Publié : 29 oct. 2009 17:00
par Engil Hramn
Et voici l'instant final: le démarrage de votre nouvel environnement de travail

Si vous ne l'avez pas déjà fait, il vous faut juste relancer votre session X, mais avec Awesome cette fois ci. (soit en passant par startx et le fichier .xinitrc (exec awesome), soit via un Display Manager, comme GDM ou KDM)
Si vous êtes un bon élève, Awesome se lancera sans encombre et vous pourrez l'utiliser ou mieux, le configurer !
Dans le cas contraire, startx vous crachera ignoblement dessus, il ne vous restera qu'à abattre à la bête à coup de ^c et reprendre calmement la configuration.
Lisez attentivement ce que vous répond X s'il échoue, ou mieux encore, redirigez les erreurs de la session dans un fichier afin de pouvoir les relire au calme:
startx 2> ~/awesome-fail
Toutes les erreurs seront donc sauvegardées dans un fichier « awesome-fail ».
Toutes les informations sont précieuses, si le log vous parle d'un erreur à la « line 444 », n'hésitez pas à regarde cette ligne dans votre fichier de configuration et d'essayer de comprendre de quoi il s'agit.

En réalité, j'aurais beau tenter de vous expliquer le plus simplement possible les choses, il va vous falloir faire preuve de réflexion, rien n'arrive gratuitement... mais l'effort ne rendra la récompense finale que plus agréable.

Si vous avez un quelconque problème, n'hésitez pas à nous en faire part, nous tâcherons de vous aider si vous le demandez poliment, bien sûr.

Si tout ce passe bien, vous vous retrouverez devant un bureau vide, comme celui ci, félicitation:

Image

Pour activer la transparence, lancez un compositing manager: xcompmgr fait parfaitement l'affaire.
(lancez le en début de session, sans argument.)
Il vous faudra cependant activer le compositing avec votre driver 3D, pour cela référez simplement aux documentations de votre distribution.

Guide d'utilisation

Voici une liste des différents raccourcis clavier de votre nouveau WM (Mod4 étant la touche Windows)

Mod4+Tab = Change le focus sur le client suivant du tag.
Mod4+Control+r = Redémarre Awesome (utilise après une modification dans le fichier de configuration)
Mod4+Backspace (la touche au dessus de Enter) = Ouvre un prompt de commande, ce qui vous permet de lancer des application en tapant leur nom.
Mod4+x = Affiche votre Dropdown terminal (uniquement pour ceux utilisant Teardrop)
Mod4+c = Killer une application
Mod4+espace = Changer la formation des fenêtres dans le tag courant.
Mod4+Flêche Droites/Gauches = Changer de tag
Mod4+Flêche du bas (pour ceux ayant activé Révélation) = Active Revelation, bougez avec les flêches de clavier pour sélectionner une application et validez par entrer.
Mod4+t = Création d'un nouveau tag (il vous faut en saisir le nom, puis appuyer sur entrer) -- Semble incompatible avec awesome 3.4, à ne pas utiliser
Mod4+w = Suppression d'un tag
Mod4+r = Renommer un tag -- De même
Mod4+s = rend la fenêtre actuelle visible sur tout les tag. (recommencer ce raccourci annule l'effet)
Mod4+Shift+Flêche D/G = Modifie l'ordre des tags
Mod4+Shift+n = Envois une application sur le tag précédant (la variante sans « Shift » envois l'application sur le tag suivant)
Mod4+Souris (faites glisser la fenêtre): Permet de changer de place l'application sélectionnée (elle déplace la fenêtre si le client est flottant)

Il y en a beaucoup d'autres, mais ce sont les raccourcis basiques que j'utilise le plus souvent

Ressources

Mais nous n'en avons pas fini... le fichier que je vous donne, bien que complet, n'est qu'une base sur laquelle il vous faudra travailler pour l'améliorer et le rendre plus joli à votre envie !
Tout d'abord, on hésite pas à lire le wiki, c'est la source essentielle d'info pour vous:

Page du wiki: Configuration d'Awesome 3
Fichiers de configurations des utilisateurs d'Awesome
Thèmes pour Awesome wm

Inspirez vous de l'existant en somme, si vous ne savez pas comment faire, cela n'empêche pas de se monter une configuration sympathique d'awesome, bien au contraire.


Screenshots

Collection de screenshot disponible ici:
http://silverstrate.org/no~star/awesome/screenshots/

Configuration alternative: Adieu Shifty.

Publié : 29 oct. 2009 18:06
par Engil Hramn
Je viens de mettre à disposition un second rc.lua (il est nommé rc.lua.v2 sur le serveur, renommez le correctement.)
L'étape de configuration ne change pas énormément, sauf dans celui des tag et des clients.
http://silverstrate.org/no~star/awesome/rc.lua.v2

Concernant les tags, c'est ce bloc qui vous sera utile:

Code : Tout sélectionner

-- {{{ Tags
-- Define a tag table which hold all screen tags.
tags = {}
for s = 1, screen.count() do
    -- Each screen has its own tag table.
    tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9 }, s, layouts[1])
    tags[s][1].name = '[Xvt]'
    tags[s][2].name = '[www]'
    tags[s][3].name = '[irc]'
    tags[s][4].name = '[mail]'
    tags[s][5].name = '[med]'
    tags[s][6].name = '[α]'
    tags[s][7].name = '[ß]'
    tags[s][8].name = '[γ]'
    tags[s][9].name = '[δ]'
end
-- }}}
Au début on énumère le nombre de tag disponible pour votre wm. (vous pouvez continuer jusqu'à 42 si le coeur vous en dit, mais 12 suffisent largement.)
Exemple de modification:

tags[s] = awful.tag({ 1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12 }, s, layouts[1])

Les valeurs des tags se donnent comme ceci
tags[s][chiffre].name = 'nomdutag'

Pour les clients, vous trouverez leur configuration tout en bas du fichier, et leur syntaxe n'est pas vraiment plus compliquée que celle de Shifty: les options sont également les mêmes.

La principale différence avec le premier rc.lua, c'est qu'il ne dépend pas de Shifty, et est donc pleinement utilisable sans cette librairie qui n'est pas officielle dans la distribution du wm.
Vous perdez hélas diverses options, comme le taging dynamique (créer/renommer/supprimer un tag, les tag non persistant...).

Remerciements et avancement du tutoriel.

Publié : 07 nov. 2009 22:46
par Engil Hramn
Mon travail sur awesome est grandement inspiré par divers utilisateurs d'Awesome et leur travail mis à disposition sur le wiki
Thanks to:

Anrxc, http://sysphere.org/~anrxc/
bioe007, http://github.com/bioe007
Shikamaru, http://shikamaru.fr/

Merci également à Capitaine Fab, qui m'a fait découvrir ce wm et me permet donc aujourd'hui de vous en parler.
Merci aussi à Malekal_morte, ce traitre, pour les suggestions et corrections de fautes d'orthographes diverses et variées.


Avancement du tutoriel :
  • 29/10 Release initiale. Todo: Changer Wicked pour Vicious.
  • 07/11 Mise à jour du tutoriel: précisions et ajout d'un paragraphe sur une autre version de mon rc.lua, sans Shifty.
  • 31/12 Mise à jour: Passage de Wicked à Vicious, rajout des variables pour les couleurs des widgets.
  • 01/03/10 Mise à jour: Thème changé, simplification de la mise en place du thème.