Wmii, mode tiling, tags et boycott de la souris

Publié le 28 novembre 2009 par Mika3b

Je vous avais récemment parlé d'OpenBox, un WM (gestionnaire de fenêtre) léger et très configurable. Il me convient parfaitement mais bien sur, j'ai toujours tendance à vouloir tester d'autres méthodes. J'étais parti pour installer et tester GnuStep couplé avec WindowMaker, dont Lenezir avait fait la présentation. J'avais également installé E17, plus visuel. Je vous reparlerais de ce dernier un peu plus tard car je vais le conserver et l'arranger à ma sauce, mais ni E17 ni GnuStep n'ont gagné mes faveurs pour un usage quotidien.

Décidément, je me tourne de plus en plus vers le clavier pour gérer mon système. Que ce soit en utilisant la ligne de commande, pour gérer la position des fenêtres ou lancer mes application. Au final, un clavier n'est qu'une souris avec 105 boutons (et potentiellement des milliers avec les combinaisons de touches). Le fait de ne pas s'occuper de la souris permet une navigation fluide et très reposante. OpenBox permet de se passer de la souris pour la majorité des opérations de gestion des fenêtres, en utilisant des raccourcis claviers qui vont bien. Cependant, il existe un fonctionnement que l'on appelle "Tilling" qui est encore plus adapté à la manipulation au clavier.

Le mode Tiling

On pourrait traduire tiling par carrelage. Le principe de gestion des fenêtres (applications et réglages systèmes) est différent des gestionnaires traditionnels. En effet, l'écran est tout le temps rempli. Exemple concrêt :

Au démarrage du système, vous n'avez aucune application d'ouverte. Voici mon bureau :

En premier lieu, si je souhaite fureter sur le disque par exemple, je lance pcmanfm par le raccourci que j'ai mis en place (Alt+Ctrl+p) ou par le lanceur de Wmii (Alt+p). Le navigateur de fichier utilise toute la surface de l'écran.

J'ai trouvé le document qu'il me fallait éditer. Lorsque j'ouvre celui-ci avec geany, vous remarquerez que les deux fenêtres se partagent le plein écran. pcmanfm s'est automatiquement redimensionné pour laisser la moitié de l'écran à geany. Le partage se fait simplement : deux fenêtres donne 50-50 (%), 3 fenêtres : 1/3 pour chaque, etc...

Ici, suite à la modification du fichier, je souhaite lancer le terminal pour mettre à jour nanoblogger. Alt+Entrée lance sakura et l'écran est divisé en 3.

Le problème est qu'avec un petit écran ou un grand nombre de fenêtres ouvertes, il ne reste plus grande place pour chaque fenêtre. Ne paniquons pas. Sur Wmii, il est possible d'avoir deux colonnes. A la base, wmii affiche chaque nouvelle fenêtre dans la colonnne active. Vous pouvez déplacer la fenêtre active en utilisant le clavier. Ici, je souhaite déplacer le terminal à droite. je focalise sur celui-ci avec Alt+j et un petit Shift+Alt+l va l'envoyer dans la colonne de droite, non utilisée encore :

Si je lance une application depuis le terminal, celle-ci apparaitra dans la seconde colonne en dessous de la console.

Bon. mais cela fait des petites fenêtres quand même ! attends. Mod1+m maximise la fenêtre active (elle remplit toute sa colonne). Mod1+f place la fenêtre active en plein écran. et Mod1+d remet la fenêtre en mode carrelée. En naviguant avec Mod1+h,j,k,l, le confort est assuré.

Pour certaines applications, le mode tiling n'est pas le plus commode. Firefox, les clients ftp et mail, Gimp et d'autres sont plus lisibles en mode conventionnel. Il est possible de passer une fenêtre en mode "floating" avec la combinaison Mod1+Shift+space et naviguer ente les fenêtres avec Mod1+j.

Les tags

Dans Wmii, il existe une caractéristique très intéressante. Les habitués des systèmes GNU/linux connaissent bien les bureaux virtuels (workspaces) qui permettent de séparer certaines applications et alléger l'écran. Wmii possède cette fonction mais l'associe avec des tags. Puissant. Exemple concret :

J'utilise quotidiennement mon mail et firefox,etles deux interagissent souvent ensemble. J'ai décidé de regrouper ces deux applications en leur donnant un tag commun : Mod1+Shift+t+net donne le tag "net" à la fenêtre active. Il est possible de naviquer entre les tags avec Mod1+t+tag

Personnellement, j'utilise le tag "net" pour claws-mail et firefox,"im" pour psi et jabber, "files" pour la navigation dans le système de fichiers,"bash" pour le travail en ligne de commande, "redac" pour rédiger mes textes. Cela dépendjuste de la facon de travailler. En cas de travail majeur sur lesystème, un tag "root" est très pratique.

Il est possible d'assigner plusieurs tags à une fenêtre. Cela permet donc de s'y retrouver très facilement. Dans votre barre d'état, vous visualisez les tags crées et basculer aisément de l'un à l'autre, sans jamais se servir de votre souris.

Bien sur, il est possible de configurer le fichier ~/.wmii-3.5/wmiirc pour attribuer des tags à des applications :

  # Tagging Rules
  wmiir write /tagrules <<!
  /XMMS.*/ -> ~
  /MPlayer.*/ -> ~
  /Firefox.*/ -> ~+net
  /Gimp.*/ -> ~+photo
  /claws-mail.*/ -> ~+net
  /psi.*/ -> im
  /urxvt.*/ -> bash
  /.*/ -> sel
  /.*/ -> 1
  !

Le "~" signifie que l'on souhaite ouvrir la fenêtre en mode "floating", donc conventionnelle. En remplissant correctement cette section, chaque fois que vous lancerez l'application souhaitée, elle apparaitra dans le mode voulu et avec le tag désiré. Tout devient plus simple !

Personnalisation

Tout comme Openbox, Wmii demande un peu de temps pour régler le système à votre main. Tout est à priori possible, en éditant le fichier de configuration :vim ~/.wmii-3.5/wmiirc

Dans ce fichier, vous pouvez configurer la touche "Mod1" qui est la touche clé de Wmii, les raccourcis clavier, le thème de couleur et les applications lancées au démarrage.

Pour ma part, peu de modifications par rapport à l'original. J'ai ajouté quelques raccourcis pour lancer directement les applications dont je me sers le plus :

  Key $MODKEY-Control-f
                  firefox &               
          Key $MODKEY-Control-m
                  claws-mail &
          Key $MODKEY-Control-j
                  psi &
          Key $MODKEY-Control-p
                  pcmanfm &      

Le paramétrage des tags :

  # Tagging Rules
  wmiir write /tagrules <<!
  /XMMS.*/ -> ~
  /MPlayer.*/ -> ~
  /Firefox.*/ -> ~+net
  /Gimp.*/ -> ~+photo
  /claws-mail.*/ -> ~+net
  /psi.*/ -> im
  /urxvt.*/ -> bash
  /.*/ -> sel
  /.*/ -> 1
  !

Les applications à lancer au démarrage :

  # programmes au demarrage
  [ "`ps aux | grep nitrogen | grep -v grep`" =  "" ] & nitrogen --restore &
  [ "`ps aux | grep parcellite | grep -v grep`" =  "" ] & parcellite &

Ici, je souhaite récupérer mon fond d'écran géré par "nitrogen" et un outil de gestion de copier-coller. Lebon endroitaussi pour l'utilitaire de montage de volume et tout ce que vous souhaitez.

Les thèmes sont modifiables simplement. cela reste basique :

  WMII_FOCUSCOLORS='#EEEEEE #005577 #006699'
  WMII_BACKGROUND='#111111'
  WMII_NORMCOLORS='#BBBBBB #222222 #000000'
  WMII_FONT='-artwiz-glispbold-*-*-*-*-*-*-*-*-*-*-*-*'

Les codes ont été pris en lisant les tutoriels fournis sur le wiki de Debian, très complet, et celui d'archlinux, compatible avec frugalware.

Juste pour geek ou réellement pratique

Il faut aimer jouer du clavier et ne pas vouloir un bureau en 3D qui déchire sa race, c'est sur. En ce qui concerne l'usabilité du concept, cela reste personnel. Pour ma part, j'en suis convaincu et j'ai d'ailleurs basculé sur Wmii par défaut, laissant Openbox un peu en sommeil.

Tout est question de feeling en fait. GnuStep et Windowmaker, je n'accroche pas. E17 est vraiment sympa pour montrer une session un peu plus conviviale. Mais au final, vu comment je me sers de mon ordinateur, le fonctionnement de Wmii me convient parfaitement et j'estime avoir gagné en "productivité" et en confort d'utilisation.

Pour les adeptes de la souris, je conviens que ce n'est pas forcément le choix le plus judicieux. et la première approche peut dérouter certaines personnes. Idéalement, un grand écran est un plus : avec mon 12", il faut avouer que l'écran est vite rempli et les fenêtres petites. Un Wmii couplé avec un 24" doit être très efficace.

Ressources

Voici quelques liens glanés lors de mes recherches, en espérant qu'ils vous soit utiles !

En tout cas, cela vaut le coup de tester ! Wmii est très léger et il suffit de rajouter la session wmii à votre bootmanager. voic mon fichier de configuration de slim

  # /etc/slim.conf
  login_cmd           exec /bin/sh - ~/.xinitrc %session
  
  # Available sessions (first one is the default).
  # The current chosen session name is replaced in the login_cmd
  # above, so your login command can handle different sessions.
  # see the xinitrc.sample file shipped with slim sources
  sessions            wmii,openbox,xfce4,e17,wmaker,awesome

Et le fichier ~/.xinitrc qui permet de basculer entre vos WM

  # the following variable defines the session which is started if the user doesn't explicitly select a session
  
  DEFAULT_SESSION=wmii
  
  case $1 in
  
  xfce4)
  	exec startxfce4
  	;;
  wmaker)
  	exec wmaker
  	;;
  e17)
  	exec enlightenment_start
  	;;
  openbox)
  	exec openbox-session
  	;;
  awesome)
  	exec awesome
  	;;
  
  wmii)
  	exec wmii
  	;;
  *)
  	exec $DEFAULT_SESSION
  	;;
  
  esac
planet-libre, tiling, wm, wmii