i3, un système de gestion de fenêtre qui poutre des ours !

Cela fait quelques temps que je me dis qu'il faut que je teste un tiling window manager (gestionnaire de fenêtre en tuiles ou twm). J'ai commencé à en entrendre parler sur LinuxFr. J'en ai vu en activité lors de la MiniDebConf Paris 2010: les personnes de la salle qui utilisaient leur machine pendant les présentations utilisaient à 90% un twm en lieu et place du bureau classique. Si un grand nombre de ces personnes qui participent au projet Debian utilisent ce mode de gestion de fenêtre, ce ne doit pas être par hasard. Je me suis dis qu'il fallait donc le tester.

Mais, il m'a fallu environ un an pour m'y mettre sérieusement. Quand on dispose d'une interface de bureau réactive et bien configurée, ça ne milite pas vraiment pour un changement. Ce qui m'a décidé c'est la pression de Gnome3. En effet, je dispose d'une configuration limitée: une EeeBox première génération qui utilise un processeur Intel Atom N270. De plus, le disque dur interne est en PATA et le taux de transfert de données est vraiment en deça de ce qui se fait aujourd'hui. Donc tout ce qui permet de réduire la charge de cette machine est le bienvenue. Comme Gnome3 commence à se déployer dans Debian et que ma machine commence à atteindre ses limites avec Gnome2, je me suis dit qu'il était temps de passer à quelquechose de vraiment léger mais fonctionnel. Les twm avec leurs fonctionnalités limitées (mais bien faîtes) et leur compacité sont de bons candidats.

J'ai donc d'abord cherché quels étaient les twm qui avaient la côte. J'ai repéré les noms de awesome, de wmii, de dwm, de xmonad et de i3. Après cette recherche, je me suis dit qu'il me fallait un twm qui soit empaqueté dans Debian avec une version récente.

Si le bureau "classique" qui se pilote à la souris et au clavier est assez intuitif, il n'en est pas de même pour les twm. Ceux-ci imposent, de par leur fonctionnement, d'apprendre des raccourcis-clavier pour effectuer des actions spécifiques. Ça peut sembler rébarbatif mais, comme pour un vrai éditeur de texte, c'est très rentable: dans bien des cas, il n'est plus besoin de souris pour interagir avec les logiciels et l'efficacité s'améliore (pour ceux qui tapent rapidement au clavier bien sûr mais c'est une évidence pour les gens qui utilisent cette interface tous les jours).

J'ai rapidement laissé tomber xmonad pour des raisons de dépendances. En effet, xmonad est développé dans le langage Haskell et je n'avais pas envie d'installer tous les programmes liés (trop lourd). J'ai commencé à m'interesser à Awesome qui semble assez populaire. Mais, après l'avoir installé et lamentablement buté sur la configuration en Lua, je me suis tourné vers i3 (paquet virtuel i3 sous Debian) qui restait sur ma liste.... J'y ai trouvé mon bonheur !

En effet, i3 est d'une part très léger mais il est également très facile à prendre en main. Il bénéficie d'un bon empaquetage dans Debian même si j'ai du ajouter ultérieuremet les paquets i3lock et i3status. Son fichier de configuration est un fichier assez classique et beaucoup de choses sont paramétrables.

De plus, la documentation est assez bien faîte. Elle permet de se familiariser très rapidement avec le logiciel et elle est très didactique. C'est ce que je retiens de plus positif que pour les autres twm. Pour vous y mettre, voici une démarche simple:

  • installez i3: aptitude install i3 i3lock i3status. Je vous recommande d'utiliser la touche "Win" comme touche de Mod. L'intérêt c'est que comme vous utilisez Emacs (sinon, vous devriez), vous n'allez pas être embêté par les raccourcis-clavier de i3 lors de votre édition de fichiers texte.
  • fermer votre session graphique et connectez vous en précisant que vous voulez lancer une session i3.
  • lancez un terminal avec la combinaison Win+Entrée
  • lancez ensuite iceweasel depuis ce terminal: la fenêtre se sépare en deux.
  • Allez sur la page de doc de i3 (en pointant avec la souris).
  • Lisez et expérimentez avec la doc, c'est très facile !
  • En 1h, vous devriez avoir compris le principe et être à l'aise avec les raccourcis claviers.

Mais alors, arrive la question que tout le monde se pose: où est le poutrage d'ours ? Il réside dans le fait que d'abord, i3 est un twm abordable ! Il suffit de lire la doc et ça ne prend pas 3h... Ensuite, son fichier de configuration est vraiment très simple à prendre en main: des raccourcis clavier, quelques commandes et le tour est joué. Enfin, il est très souple: il repère automatiquement les fenêtres flottantes ce qui vous évite des manipulations terribles pour des logiciels comme LibreOffice ou The Gimp et, bien entendu, il se gère à minima avec la souris.

Pour terminer, je crois qu'après 2 jours d'utilisation je ne reviendrai jamais en arrière ! Et pour cause: je suis bien plus réactif avec mon clavier qu'avec les interruptions de saisie dues à la souris. Plus besoin de passer du clavier à la souris pour changer de fenêtre ou de bureau. Et puis, le mode tuile est un vrai gain de temps: vous ne gaspillez plus aucune de vos précieuses secondes à bouger la souris pour redimensionner la fenêtre: c'est le gestionnaire qui le fait à vote place et ce , avec beaucoup d'efficacité. J'ai même laissé tombé GNU screen, le gestionnaire d'écran dans un terminal: les workspaces de i3 apportent une fonctionnalité identique et même plus souple: je peux diviser mon écran comme je le veux.

Pour finir, ma machine principale est devenue réactive à nouveau: le bureau ne met plus que 4 secondes avant d'être actif au lieu d'environ 45 !

Pour résumer, i3 me semble être un bon gestionnaire de fenêtre en tuile pour débuter avec ce mode particulier d'interaction d'un bureau. Je vous le recommande: il est simple à prendre en main et très complet. Pour l'instant, il répond, voire dépasse, tous mes besoins... Adieu Gnome2 (et 3 et les suivants) !