From b9e22325bb46e2611a73e54a3f0ade31800d1bd9 Mon Sep 17 00:00:00 2001 From: Sébastien Dailly Date: Fri, 9 May 2014 14:30:46 +0200 Subject: Moved to pelican 3.3 --- content/Informatique/2010-06-06-awesome.rst | 105 ++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 content/Informatique/2010-06-06-awesome.rst (limited to 'content/Informatique/2010-06-06-awesome.rst') diff --git a/content/Informatique/2010-06-06-awesome.rst b/content/Informatique/2010-06-06-awesome.rst new file mode 100644 index 0000000..e1f3860 --- /dev/null +++ b/content/Informatique/2010-06-06-awesome.rst @@ -0,0 +1,105 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +Un menu pour awesome +#################### + +:date: 2010-06-06 +:tags: Libre, awesome +:summary: |summary| + +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és 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 +s'il est possible d'affiche une barre d'outil à chaque application (« +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. + +|summary| + +.. |summary| replace:: + 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 : + +.. code-block:: lua + + require("mymenu") + +et dans la partie Key Binding : + +.. code-block:: lua + + 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 + :class: floatleft + +.. |Menu pour awesome| image:: {filename}../images/menu.png + :class: floatright -- cgit v1.2.3