Echinus, un WM, simplement.

hérissonSur le marché des WM, il est parfois compliqué de s’y retrouver, et il arrive que certains d’entre eux restent injustement cachés. Le WM dont je vais vous parler aujourd’hui s’appelle Echinus, et je l’ai découvert tout à fait par hasard, suite à une faute de frappe.

Au premier test, je me suis demandé si le WM s’était bien lancé. Et pour cause: rien n’apparaissait à l’écran. Un clic droit sur le «bureau» m’a cependant affiché xterm, me permettant alors d’utiliser mon pc et de lire documentation et site web du projet.

De fil en aiguille, et avec mes quelques personnalisations détaillées plus loin, je suis devenu fan de ce petit WM qui n’attire pas autant qu’il devrait la lumière des projeteurs.

Au fil de cet article, vous (re-)découvrirez ce qu’est un WM (gestionnaire de fenêtre, en français), avant de vous pencher plus précisément sur Echinus.

Un WM, qu’est-ce que c’est?

Les WM, gestionnaires de fenêtres, sont ces logiciels qui sont chargés de l’affichage et du placement des fenêtres, nous informe Wikipédia.

Cette définition devrait vous éclairer sur leur fonction, mais surtout sur leur omniprésence. Pour la plupart des utilisateurs, dès qu’il y a des fenêtres, il y a un gestionnaire de fenêtres qui se cache derrière. C’est lui qui choisit où se place la fenêtre, la taille qu’elle a, si elle doit être maximisée, minimisée, si elle doit avoir une barre de titre, etc…

Concrètement, que fait-il?

Un WM peut gérer les barres de titres, les bureaux virtuels, les fonds d’écran, les raccourcis claviers, le déplacement, le redimensionnement, l’icônification des fenêtres, les effets 3d, et bien d’autres choses.

Des exemples de WM

Gnome n'est en fait qu'un «gestionnaire» pour Metacity

Gnome n'est en fait qu'un «gestionnaire» pour Metacity

Les WM les plus fréquents, intégrés à la plupart des grosses distributions, sont Metacity, Compiz-Fusion, Kwin, Openbox, Xfwm4.

Cependant, pas mal d’autres WM, malgré qu’ils ne sont pas intégrés de base dans ces méga-distributions, disposent de leur public et d’une communauté plus ou moins active. Ces WM ont traversé les âges. Je parle de fvwm2, Icewm, Fluxbox, awesome, dwm (dont nous reparleront), et bien d’autres encore.

Voyons maintenant comment classer ces différents WM.

Classification des WM

Il est possible de classer les différents WM selon plusieurs critères. Parmi ceux-ci, l’âge, la licence, le système d’exploitation, l’activité, la taille de la communauté et l’origine sont des critères certes intéressants, mais ils permettent de classifier n’importe quels logiciels.

Nous préfèrerons ici une classification propre aux WM: d’une part, les Floating Window Manager, et d’autre part les Tiling Window Manager.

La technique du Floating

Echinus en mode Floating

Echinus en mode Floating

Dans un Floating Window Manager, une fenêtre est dite flottante. C’est à dire qu’elle se déplace où vous le voulez sur l’écran, elle prend la place qu’elle désire, et les fenêtres peuvent se superposer.

La technique du Tiling

Les Tiling Window Managers fonctionnent tout à fait différemment. Une nouvelle fenêtre créée changera la taille de toutes les autres fenêtres, afin que toutes les fenêtres soient visibles en même temps, et occupent tout l’espace disponible à l’écran.

Mon Echinus en mode Tiling

Mon Echinus en mode Tiling


À noter que la méthode du tiling n’est pas incompatible avec la notion de bureaux virtuels.

En pratique: les WM mixtes

La technique du tiling peut sembler la meilleure, mais n’est pas adaptée à de nombreux cas.

Par exemple, le logiciel Gimp, qui est constitué de plusieurs fenêtres, la messagerie instantannée, la bureautique, le visionnage de vidéos demandent des fenêtres flottantes, avec leur propre placement et leur propre taille.

Pour cela, la plupart des Tiling Window manager sont mixtes: ils permettent d’avoir certaines fenêtres toujours flottantes, et même certains bureaux virtuels où toutes les fenêtres seront flottantes. Il s’agit de l’immense majorité des gestionnaires de fenêtres en tiling.

Echinus organise les terminaux du fond en Tiling, mais permet la superposition d'une fenêtre en Floating par dessus

Echinus organise les terminaux du fond en Tiling, mais permet la superposition d'une fenêtre en Floating par dessus


Approchons maintenant un de ces fameux gestionnaires de fenêtres mixte: Echinus.

Histoire

Alexander Polakov, étudiant au Moscow Institute of Steel and Alloys, a pour passion la lecture, la programmation et il aime également se promener en écoutant de la musique.

En 2007, il n’était pas satisfait du comportement de son WM, dwm. L’étudiant russe n’aimait pas l’idée d’écrire sans cesse des patch qui seraient incorporés version après version dans celui-ci.

Alexander n’aimait pas non plus la barre intégrée à dwm. Actuellement, il a écrit une barre indépendante, propre à Echinus, appelée ourico (voir la page du projet Echinus).

Notre homme de 21 ans créa donc FWM (dont la signification semble perdue à jamais), en novembre 2007, avant que son projet ne change de nom pour devenir Echinus, en mars 2008.

Echinus est un mot latin signifiant «Hérisson», mais en réalité c’est le pseudo d’une fille qui est à l’origine du nom du projet.

Echinus est placé sous licence MIT (MIT/X Consortium License), tout comme X11 et dwm.

Caractéristiques

Les principales caractéristiques d’Echinus sont les suivantes:

  • Echinus s’auto-proclame dans l’esprit de dwm.
  • Il est très léger, très simple.
  • Il se configure aisément, avec un seul fichier, au format Xressources.
  • Il supporte tant le tiling que le floating.
  • Il est hyper-minimaliste: pas de scripting, pas barre de menu, pas de pager, rien.
  • Il supporte un minimum du standard EWMH, de Freedesktop.org, ce qui lui apporte une compatibilité minimum avec les pagers et autres barres de menus.
  • Il supporte le Xft (TTF).

Inconvénients et freins à son expansion

  • Pas de documentation apparente: la documentation se résume au fichier README, compris avec le programme. Bien que complète, elle semble fort courte.
  • Publicité manquante: Echinus ne dispose d’aucune publicité nulle part, et semble inexistant. Sur le web, sa présence se limite à peu près à une page et quelques screenshots
  • Pas de distribution: rares sont les distributions qui fournissent une version d’Echinus dans leur système de package. Par exemple, il n’y a pas de packet pour Ubuntu. Quand il existe un paquet, il n’est pas forcément à jour.
  • Communauté inactive et quasiment inexistante: La mailing list ne reçoit même pas un mail par mois, et beaucoup de questions y restent sans réponse, malgré la disponibilité du développeur.

Ayant tout ceci en tête, faisons d’Echinus le WM de nos rêves.

Voici quelques éléments que j’ai changé au fichier ~/.echinus/echinusrc de base.

Les éléments s’y présentent ainsi:

Echinus*Variable: valeur

Toutes ces valeurs sont décrites dans les fichier README. Il se trouve avec le awesomerc d’exemple dans l’archive du logiciel. vous y trouverez également les instructions de compilations et d’installations.

Sloppy Focus

Activons le focus suivant la souris
Echinus*sloppy

  • Ancienne valeur: 0
  • Nouvelle valeur: 2

Le tiling par défaut

Echinus*deflayout

  • Ancienne valeur: i
  • Nouvelle valeur: t

Raccourcis claviers

Remplaçons la touche alt par la touche fenêtre dans les raccourcis
Exemple: Echinus*setlayoutm

  • Ancienne valeur: A + M
  • Nouvelle valeur: W + M

Modkeys: A for alt, W – winkey, S – shift, C – control, 0 – None

Réglage du terminal par défaut

Optons pour gnome-terminal au lieu de xterm
Echinus*spawn0

  • Ancienne valeur: A + t = xterm
  • Nouvelle valeur: W + t = gnome-terminal

Echinus*terminal

  • Ancienne valeur: xterm
  • Nouvelle valeur: gnome-terminal

Réglage des layout et bureaux virtuels

Le bureau virtuel ‘doc’ est défini ici:
Echinus*tags.name2: doc

Définissions son layout:
Echinus*tags.layout2: m
i – ifloating, f – floating, t – tiled, b – bottomstack, m – maximized. La différence entre floating et ifloating est expliquée plus bas.

Règles par applications

Placons Evince avec une barre de titre et sur le bureau ‘doc’
Echinus*rule3: Evince.* doc 0 1

Réglage du Tiling

Définissons à 3 le nombre de fenêtres dans la partie principale des tags en tiling
Echinus*nmaster

  • Ancienne valeur: 1
  • nouvelle valeur: 3

Donnons 50% de place à cette partie principale
Echinus*mwfact

  • Ancienne valeur: 0.6
  • nouvelle valeur: 0.5

Astuces

Mettre un raccourcis clavier sans Modkey

Ceci n’est pas documenté dans le README d’Echinus.
Il suffit de mettre (zéro) à la place de la ModKey.

Exemple: Echinus*Spawn1: 0 + XF86AudioPrev = ncmpcpp prev

Différence entre floating et ifloating

En floating (f), les nouvelles fenetres sront toutes crées en haut à gauche de l’écran.

En ifloating (i), Echinus imite un comportement traditionnel en positionnant les nouvelles fenêtres de manière à ne pas superposer les autres fenêtres.

Gkrellm Pager

Étant utilisateur de Gkrellm, et un peu en manque d’indicateur me montrant dans quel tag je me trouvais, j’ai installé le plugin Pager pour Gkrellm.


Comme le dit l’adage, Abondance de liens ne nuit pas.

Echinus

Window Manager

  • Xwinman: site reprenant la majorité des gestionnaires de fenêtre pour X.
  • Sur Wikipedia: en Anglais ou en Français.
  • Le standart EWMH

Et, dans l’ordre alphabétique:

Gkrellm Pager

Remerciement

Special Thanks for Alexander for his availability and his quick answers.

Si vous avez aimé ce post...

  1. MPD : Le démon des media players.
  2. Mise en place d’un système de backup avec Rsnapshot
  3. Libérez votre esprit avec Freemind

Vus : 610
Publié par Geekfault : 45