summaryrefslogtreecommitdiff
path: root/content/Informatique/2010-06-06-awesome.rst
diff options
context:
space:
mode:
Diffstat (limited to 'content/Informatique/2010-06-06-awesome.rst')
-rw-r--r--content/Informatique/2010-06-06-awesome.rst105
1 files changed, 105 insertions, 0 deletions
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 <http://awesome.naquadah.org/wiki/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 <http://chimrod.com/downloads/mymenu.lua>`_
+
+.. |Awesome| image:: http://awesome.naquadah.org/index/320x240-screen.png
+ :class: floatleft
+
+.. |Menu pour awesome| image:: {filename}../images/menu.png
+ :class: floatright