From 66a5a0cdccd464930a232c87f91e1b0805f255a5 Mon Sep 17 00:00:00 2001 From: Chimrod Date: Tue, 16 Apr 2013 21:27:30 +0200 Subject: initial commit --- content/Informatique/awesome.rst | 97 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100755 content/Informatique/awesome.rst (limited to 'content/Informatique/awesome.rst') diff --git a/content/Informatique/awesome.rst b/content/Informatique/awesome.rst new file mode 100755 index 0000000..0e9e6e9 --- /dev/null +++ b/content/Informatique/awesome.rst @@ -0,0 +1,97 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +Un menu pour awesome +#################### + +:date: 2010-06-06 +:tags: Libre + +Awesome est un window manager (wm) en mode pavement ( les fenêtres se +disposent de manière à ne jamais se chevaucher ). Cela permet de ne pas +avoir à se soucier de la manière dont il faut gérer l'affichage des +applications. + +|Awesome| + +Une des particularité est que sa configuration se fait par un fichier de +script exécuté au lancement du bureau. Cela permet de paramétrer comme +on le souhaite le bureau sans être limité par le WM. La contrepartie est +que cela est plus difficile à prendre en main, et une erreur de code +entraîne un écran gris au lieu du bureau que l'on souhaite obtenir... Le +langage utilisé ( Lua ) est un langage connu pour sa légèreté. Pour +l'instant, le projet étant encore assez jeune, il n'existe pas encore +beaucoup de modules standardisés pour configurer le système, mais je +pense que ceux-ci ne tarderont pas à venir... + +Pour l'instant la configuration n'est pas encore stabilisée, certains +composants changent au cours d'une version à une autre, ce qui casse +parfois la mise à jour et oblige à retravailler les scripts de mise de +configuration. Je pense cependant que tout cela suit la bonne direction +et que ces soucis finiront par disparaître avec le temps et les versions +suivantes + +La plupart des actions peuvent être associées à un raccourci clavier, et +si il est possible d'affiche une barre d'outil à chaque applications (« +titlebar »), on prend vite l'habitude de s'en passer et de tout +contrôler au clavier. On est d'autant plus aidé par cela par +`shifty `_ une extension qui +permet de « programmer » la manière dont on veut que les fenêtres +s'affichent : sur quel écran, avec quels paramètres etc. Cela permet par +exemple d'avoir une configuration pour des applications utilisant +plusieurs fenêtres ( je pense par exemple à Gimp ) paramétrée comme on +le souhaite… + +On prend vite l'habitude également d'utiliser plusieurs « tags » ( +l'équivalent de bureaux virtuels mais un peu plus étendus ) : ceux-ci +peuvent être paramétrés pour afficher des applications sépicifiques ( +j'ai par exemple adapté ma configuration pour que *web* affiche firefox, +ou que *news* affiche le couple elinks/newsbeuter pour lire mes flux +RSS… + +Bien sûr le temps de paramétrage au début est un peu long, mais +maintenant que l'API est stable, il n'est plus nécessaire de tout +reprendre à chaque fois que l'on met à jour awesome. + +Je trouvais qu'il manquait à Awesome un menu avec les actions +disponibles sur les fenêtres : la faire passer au premier plan, la +minimiser… Tout ceci est disponible avec des raccourcis claviers, mais +il n'y a pas d'option centralisée pour les retrouver. J'ai donc décidé +de me plonger un petit peu dans lua pour produire le menu que voilà : + +|Menu pour awesome| Le menu permet les actions suivantes : + +- On top : Pour mettre le client sélectionné au premier plan et le + rendre flottant +- Sticky : Faire apparaître le client sur tous les tags +- Minimize : Réduire le client +- Close : Fermer le client +- Move To : Déplacer le client vers un autre tag + +Le script fonctionne avec awesome 3.4.5, les versions antérieures ne +sont pas forcement compatibles suite à un changement dans l'ABI du menu. +J'essaierai également de le mettre à jour pour les versions suivantes ( +du moins tant que je m'en servirai…) + +Pour le faire fonctionner, il faut télécharger le script et le placer +dans son répertoire ${HOME}/.config/awesome . Ensuite, éditer le fichier +rc.lua et y ajouter la ligne suivante en en-tête : + +:: + + require("mymenu") + +et dans la partie Key Binding : + +:: + + clientkeys = awful.util.table.join( + […] + awful.key({ modkey, }, "Down", function(c) menu_instance = newAppMenu(c) end), + +Le menu apparaîtra sur le raccourci Mod4 + Flèche du bas + +Le fichier : `mymenu.lua `_ + +.. |Awesome| image:: http://awesome.naquadah.org/index/320x240-screen.png +.. |Menu pour awesome| image:: |filename|../images/menu.png -- cgit v1.2.3