[RESOLU] [Mais pas clôs] configurer wmii

Bonjour,
J’ai installé debian et cherche petit à petit ma configuration idéale.
Je viens de tomber sur wmii, un tiling windows manager. Je suis en train de l’essayer.
Il va tout à fait pour mes goûts. Le problème, c’est que la documentation est très rare. Comme je n’ai quasiment aucune expérience en scripting, je me retrouve absolument démuni pour arriver à le configurer comme j’aimerais qu’il soit. J’ai l’impression qu’il faudrait que j’apprenne les bases de l’art du script avant de pouvoir faire ce que je veux, y passer une semaine entière en quelque sorte.
Je me dis qu’il existe peut-être un windows manager qui serait plus facile à configurer, ou que je n’ai pas trouvé la documentation qu’il me faut pour wmii.
J’avoue que la façon “tiling windows manager” me séduit complètement, mais s’il faut être un geek pour s’en sortir, ce n’est pas de mon niveau.

Je vous décris le résultat que j’aimerais bien:

  • Un système utilisant peu de ressources
  • Une façon d’organiser mes fenêtres qui les regroupe selon leurs fonctions. Que ce soit en “bureaux virtuels” ou en “view” (comme le fait wmii).
  • Par exemple un groupe dédié à la manipulation des fichiers, avec deux fenêtres thunar côte à côte. (Ceci car à par krusader, vraiment trop lourd à mon goût, et fait pour kde, je n’ai pas trouvé de gestionnaire de fichier double-pane + onglets qui soit convaincant)
  • La possibilité d’utiliser gimp et ses 36 fenêtres (qui m’a semblé problèmatique avec wmii. J’ai vu aussi que c’était déconseillé avec ratpoison).
  • Le démarrage est placement automatique de certains programmes au login (mes deux fenêtres thunar notamment)

Donc si vous avez des suggestions, soit de windows manager, soit de documentations ou exemples pour wmii, je vous serais reconnaissant de m’en faire part.

Debian, ça fait envie et ça se mérite. Mais le temps, ça passe vite.

Tu tombes à pic, je fignole la page de wiki de wmii : wiki.debian.org/fr/Wmii
J’ai besoin de retours :smt001

Si tu es un minimum à l’aise avec la langue de Shakespeare, tu peux lire le guide : suckless.org/wmii/ (aussi dispo dans /usr/share/doc/wmii-doc si tu as le paquet wmii-doc d’installé). Attention, tout de même, il n’est pas totalement à jour…

[quote=“lilive”]J’avoue que la façon “tiling windows manager” me séduit complètement[…]
Je vous décris le résultat que j’aimerais bien:

  • Un système utilisant peu de ressources
  • Une façon d’organiser mes fenêtres qui les regroupe selon leurs fonctions. Que ce soit en “bureaux virtuels” ou en “view” (comme le fait wmii)[…].[/quote]
    Tu m’as l’air « fait pour le tiling » (bon, on doit aussi pouvoir faire ce genre de choses avec des WM classiques).
    Attention, au bout de quelques mois d’utilisation, tu te sens frustré le jour où tu touches un autre environnement, et que tu dois bouger ta main jusqu’à la souris pour arranger tes fenêtres !

No problem, il y a le mode flottant pour ce genre de choses…

C’est sûr que ce n’est pas forcément évident de gérer la config, notamment si tu n’as pas de connaissances en script bash,et que tu n’as pas essayé de tiling avant. Mais le script de wmii reste tout de même simple (au sens « court », pas «facile »), et te permet de te faire des placements de fenêtres aux petits oignons :wink:
Pour t’initier un peu au scripts bash, je t’invite à lire www-gtr.iutv.univ-paris13.fr/Cou … /tp03.html
Si tu tombes dedans : abs.traduc.org/abs-5.3-fr/

Il y a toujours le forum si tu souhaites quelques éclairsissements…

[quote=“kna”]Tu tombes à pic, je fignole la page de wiki de wmii : wiki.debian.org/fr/Wmii
J’ai besoin de retours :smt001
…[/quote]
Salut,
Oui, ça, on peut dire que ça tombe bien.
Déjà merci pour les liens. ça me titille depuis un moment d’apprendre à mieux “scripter” (on dit ça?), alors je vais lire ce que tu m’as indiqué.
L’anglais ça va à peu prés. J’avais vu la page de sukless, mais ça m’a laissé sur ma faim.
Grand merci pour ton tuto. Je commence à le lire, et comme tu veux des retours, je te fais les miens au fur et à mesure:

Dans le chapitre “Les colonnes” tu dis qu’il suffit de cliquer pour les redimensionner. Dans mon cas il faut faire alt+click droit (et pas MOD+click droit. J’utilise la touche spéciale windows de mon clavier comme touche MOD, ça marche, mais pour bouger les fenêtres c’est toujours Alt).

Chapitre “Les modes”:
Chez moi Mod+f ne marche qu’en mode flottant

Chapitre “Le mode flottant”:
Pour moi le petit carré à gauche de la barre de titre ne sert à rien, et pour redimensionner les fenêtres il faut utiliser alt+click droit.
(J’ai l’impression que ma config est foireuse, ou alors c’est une histoire de version?)

Chapitre “Les vues”:
Chez moi, quand on tague une fenêtre, elle part bien dans la vue demandée, mais on reste dans la vue où on était. Il faut ensuite aller la retrouver, ce qui n’est pas commode d’ailleurs. Saurais-tu comment changer cela?

Chapitre "Configuration per-user"
ça ne marchait pas chez moi. J’ai lu quelque-part qu’il fallait rendre le fichier exécutable pour que ça marche. Effectivement, ça marche.

Chapitre "Touches « hotkeys » "
J’ai trouvé qu’il fallait utiliser un certain programme pour trouver les noms des touches du clavier (xmodmap peut-être). Cela pourrait être utile de rappeler le nom de ce programme

Je dois m’arrêter là, mais j’ai hâte de lire la suite, qui en arrive à des choses qui m’intéressent fort, j’ai l’impression.

Merci encore.

[quote=“lilive”]Dans le chapitre “Les colonnes” tu dis qu’il suffit de cliquer pour les redimensionner. Dans mon cas il faut faire alt+click droit (et pas MOD+click droit. J’utilise la touche spéciale windows de mon clavier comme touche MOD, ça marche, mais pour bouger les fenêtres c’est toujours Alt).

Chapitre “Les modes”:
Chez moi Mod+f ne marche qu’en mode flottant

Chapitre “Le mode flottant”:
Pour moi le petit carré à gauche de la barre de titre ne sert à rien, et pour redimensionner les fenêtres il faut utiliser alt+click droit.
(J’ai l’impression que ma config est foireuse, ou alors c’est une histoire de version?)[/quote]
Etrange, chez moi c’est bien la touche Mod pour tout (par contre, j’avais pas vu qu’on pouvait utiliser Mod+Clic droit en dehors du mode flottant :smt001 )
Tu as bien relancé le wmiirc après avoir modifié la touche Mod ( Mod+a > wmiirc) ?
Sinon, à quoi ressemble ton wmiirc ? Quelle est ta version de wmii (apt-cache policy wmii) ?

[quote=“lilive”]Chapitre “Les vues”:
Chez moi, quand on tague une fenêtre, elle part bien dans la vue demandée, mais on reste dans la vue où on était. Il faut ensuite aller la retrouver, ce qui n’est pas commode d’ailleurs. Saurais-tu comment changer cela?[/quote]
Pour les vues « numérotées », il suffit de remplacer :

Key $MODKEY-Shift-$i wmiir xwrite /client/sel/tags "$i"
par :

Key $MODKEY-Shift-$i wmiir xwrite /client/sel/tags "$i" & wmiir xwrite /ctl view "$i"
Par contre, avec le menu des tags (Mod+Shift+t), c’est plus compliqué. Ça doit être possible, mais là, à froid…
EDIT : Trouvé ! Il faut remplacer :

Key $MODKEY-Shift-t wmiir xwrite "/client/$(wmiir read /client/sel/ctl)/tags" "$(tagsmenu)" &
par :

Key $MODKEY-Shift-t export TAG=$(tagsmenu) ; wmiir xwrite "/client/$(wmiir read /client/sel/ctl)/tags" "$TAG" ; wmiir xwrite /ctl "view $TAG"
C’est assez sympa en effet (enfin, selon l’utilisation). Je rajouterais peut-être l’astuce au wiki, du coup…

[quote=“lilive”]Chapitre "Touches « hotkeys » "
J’ai trouvé qu’il fallait utiliser un certain programme pour trouver les noms des touches du clavier (xmodmap peut-être). Cela pourrait être utile de rappeler le nom de ce programme
[/quote]
xmodmap sert à associer un nom avec un keycode (obtenu avec xev). Cf le lien pour les touches multimedia…

[quote=“kna”][quote=“lilive”]Chapitre “Le mode flottant”:
Pour moi le petit carré à gauche de la barre de titre ne sert à rien, et pour redimensionner les fenêtres il faut utiliser alt+click droit.
(J’ai l’impression que ma config est foireuse, ou alors c’est une histoire de version?)[/quote]
Etrange, chez moi c’est bien la touche Mod pour tout (par contre, j’avais pas vu qu’on pouvait utiliser Mod+Clic droit en dehors du mode flottant :smt001 )
Tu as bien relancé le wmiirc après avoir modifié la touche Mod ( Mod+a > wmiirc) ?
Sinon, à quoi ressemble ton wmiirc ? Quelle est ta version de wmii (apt-cache policy wmii) ?[/quote]
La version pour etch est la 3.1.5. Les différences viennent peut-être de là.
Sinon avec apt je peux choisir la 3.6 (testing je crois). Je l’ai fait, mais alors là je n’ai plus accès à MOD+a et MOD+p. Par contre MOD+Entrée me donne bien un terminal.
J’ai donc essayé de me procurer la 3.5, comme toi. Je n’ai trouvé comme moyen de le faire que de compiler depuis les sources données chez suckless. Mais la compilation échoue et je ne m’en sort pas.

Finalement c’est pas trop grave ces nuances sur le redimensionnement, mais pour la suite ça va être génant. Par exemple dans ton tuto tu parles de faire ça:

# Status Bar Info
status() {
        echo -n $(acpi -b) '|' $(date +"%d/%m/%y - %H:%M:%S")
}

Mais chez moi ça ne donne rien. Dans le wmiirc par default, il n’y a rien de tel.

[quote=“kna”]Pour les vues « numérotées », il suffit de remplacer :

Key $MODKEY-Shift-$i
     wmiir xwrite /client/sel/tags "$i"

par :

Key $MODKEY-Shift-$i
     wmiir xwrite /client/sel/tags "$i" & wmiir xwrite /ctl view "$i"

[/quote]
Encore une différence, chez moi à la base il y a :

$MODKEY-Shift-[0-9])
    xwrite /view/sel/sel/tags `echo $1 | sed 's/.*-//'`;;

Ce qui bien sûr m’est du chinois.

Bon, merci de tes conseils précieux. Je vais encore essayer de faire fonctionner la 3.6 dans l’espoir de pouvoir mieux te suivre.
Tu as quelle version, toi?

Bon ça y est, il me manquait dmenu, c’est pour ça que je n’avais pas les menus. J’ai dû le compiler à partir de l’archive de suckless, et j’ai eu la bonne surprise d’y arriver!
Je continue donc mes tests, basés sur ton tuto.

Ah forcément ! Moi j’utilise la 3.6. Je n’avais pas vu qu’il y avait encore une vieille version dans les dépôts de etch.

Sur la 3.1.5, tu auras des différences : le système Plan9 n’est pas organisé de la même façon, le wmiirc est à mettre dans ~/.wmiirc et non ~/.wmii-3.5/wmiirc…

Tu peux installer la 3.6 sous etch en faisant du pinning :

Tu n’as pas à recompiler dmenu, il est installé normalement avec le paquet dwm-tools, qui doit être installé comme dépendance de wmii…

[quote=“kna”]Ah forcément ! Moi j’utilise la 3.6. Je n’avais pas vu qu’il y avait encore une vieille version dans les dépôts de etch.

Sur la 3.1.5, tu auras des différences : le système Plan9 n’est pas organisé de la même façon, le wmiirc est à mettre dans ~/.wmiirc et non ~/.wmii-3.5/wmiirc…

Tu peux installer la 3.6 sous etch en faisant du pinning :

Tu n’as pas à recompiler dmenu, il est installé normalement avec le paquet dwm-tools, qui doit être installé comme dépendance de wmii…[/quote]
J’avais installé la 3.6 avec aptitude, en choisissant cette version, puisque j’ai ajouté les paquets de sid et lenny comme indiqué dans ton deuxième lien. Mais ça ne marchait pas, je n’avais pas dmenu, que j’ai donc du compiler. Peut-être que j’ai raté quelque-chose, et que j’avais l’ancienne version de dwm-tools. Enfin bon, maintenant ça marche.
Merci pour ton premier lien sur le pinning, que j’avais commencé à découvrir, mais j’avais bien besoin d’une explication détaillée.
J’ai continué ma configuration en m’aidant de ton tuto. Il m’est très utile. Je suis égalemment en train de me former un peu aux scripts, ce qui est indispensable pour configurer wmii.

En vrac :

  • Le chapitre “Terminal” de ton tuto m’est obscur, je ne comprends pas de quoi il parle. Il doit me manquer une bête phrase.
  • J’ai trouvé comment faire, grâce au chapitre “Programmes au démarrage”, comment lancer deux fenêtres de thunar dans une vue dés le démarrage. J’aimerais que les deux fenêtres se placent chacune dans une colonne plutôt que dans la même, et ça je n’ai pas encore trouvé. (je vois comment envoyer un client dans une colonne, mais je ne suis pas encore sûr de pouvoir le faire juste après avoir lancé thunar, car le client n’existe pas forcément déjà? A vérifier (je ne peux pas juste là, car je travaille sous xp, mais je n’ai pas résisté à l’envie de te répondre quand même :slightly_smiling: )
  • Je cherche égalemment comme ajouter shutdown au menu de wmii, mais je ne suis pas sûr de comment faire pour que ça soit “propre”. Crois-tu qu’il faille d’abord stopper wmii, trouver le moyen d’attendre que ce soit fait, puis exécuter shutdown? Ou alors il n’y a pas de précautions à prendre et il suffit de faire un script qui appelle juste shutdown?

En tout cas je me régale.

Il ne parle pas de grand chose, à part remplacer “x-terminal-emulator” par le terminal de son choix.
J’ai renvoyé à man dmenu pour modifier le menu, n’ayant rien essayé de ce côté là (on doit pouvoir modifier les couleurs ou d’autres trucs)…

Pour les colonnes, si tu as 2 clients démarrés :

Le truc, c’est de regarder les raccourcis claviers dans le .wmiirc pour trouver les commandes à lancer, puis adapter, parfois en regardant comment sont fait les fichiers utilisés par wmiir. C’est vrai qu’avoir quelques connaissances en bash s’avère utile, et il faut parfois faire quelque tests en console pour trouver la bonne solution…
Mais en y passant un peu de temps, et en s’acharnant un peu, au final ça roxxe ! :wink:

Perso j’ai fait en sorte de pouvoir lancer shutdown en user avec sudo (en NOPASSWD) puis un p’ti script dans ~/.wmii-3.5, qui quitte wmii et lançe shutdown :

#!/bin/sh wmiir xwrite /ctl quit sudo /sbin/shutdown -h now
Le plus propre aurait sûrement été de quitter X aussi, mais bon, ça fonctionne tout de même, et de toute façon shutdown « kille » tous les processus avant d’éteindre. Le seul truc, c’est qu’on ne voit pas les messages de shutdown dans le tty une fois que X s’éteint, on a juste un prompt qui ne bouge pas jusqu’à ce que la machine s’éteigne.

Merci de tes réponses.
Je continue donc ma configuration (ce qui me permet de passer du temps à ne pas travailler sur les choses urgentes que j’aurais à faire!)

Me revoilà.
J’ai réussi à utiliser les touches MOD + Page Précédente et MOD + Page suivante pour passer d’une vue à l’autre, dans l’ordre où elles sont affichées dans la barre de menu du bas.
Surement que ce pourrait être mieux fait, puisqu’il s’agit de mes premiers scripts, mais ça marche, alors je le partage :

	Key $MODKEY-Prior
		# Aller à la vue précédente.

		# Trouver le rang de la vue actuellement affichée
		nTag=$(wmiir ls /tag | grep -n `wmiir read /tag/sel/ctl | sed -n -e '1p'` | sed -e 's/:.*//')
		nTag=$((nTag - 1))
		# Correction eventuelles
		[ $nTag = "0" ] && nTag=`wmiir ls /tag | wc -l`
		tag=$(wmiir ls /tag | sed -n -e "${nTag}p" | sed "s/\/.*//")
		[ $tag = "sel" ] && nTag=$((nTag - 1))
		# Afficher la vue précédente
		[ "$nTag" -gt 0 ] && wmiir xwrite /ctl view `wmiir ls /tag | sed -n -e "${nTag}p" | sed "s/\/.*//"`

	Key $MODKEY-Next
		# Aller à la vue suivante.

		# Trouver le rang de la vue actuellement affichée
		nTag=$(wmiir ls /tag | grep -n `wmiir read /tag/sel/ctl | sed -n -e '1p'` | sed -e 's/:.*//')
		# Récupérer le rang de la vue suivante
		nTag=$((nTag + 1))
		# Correction eventuelles
		tag=$(wmiir ls /tag | sed -n -e "${nTag}p" | sed "s/\/.*//")
		[ $tag = "sel" ] && nTag=$((nTag + 1))
		[ "$nTag" -gt `wmiir ls /tag | wc -l` ] && nTag="1"
		# Afficher la vue suivante
		[ "$nTag" -gt 0 ] && wmiir xwrite /ctl view `wmiir ls /tag | sed -n -e "${nTag}p" | sed "s/\/.*//"`

Autre contribution :
Utiliser la touche MOD + Tab pour retrouver la dernière vue affichée (comme c’est souvent le cas avec Alt + Tab dans des environnements de bureau)

Premièrement, rajouter ces fonctions dans wmiirc, avant la ligne eventstuff() {

recordCurrentTag() { wmiir read /tag/sel/ctl | sed -n -e '1p' > /home/olive/.wmii-3.5/lastTab } getRecordedTag() { echo `cat /home/olive/.wmii-3.5/lastTab` } gotoView() { wmiir xwrite /ctl view "$1" }
Puis dans la fonction eventstuff()

	Key $MODKEY-Tab
		tag=`getRecordedTag`
		recordCurrentTag
		gotoView "$tag"

Ceci récupère un nom de vue dans le fichier .wmii-3.5/lastTab, et affiche cette vue.
Pour que ça marche, il faut ajouter une ligne recordCurrentTag pour chaque action qui affiche une autre vue. C’est cette fonction qui enregistre le tag de la vue actuelle dans le fichier .wmii-3.5/lastTab, pour pouvoir la retrouver plus tard. Par exemple, dans le wmiirc par default il y a :for i in 0 1 2 3 4 5 6 7 8 9; do cat <<! Key $MODKEY-$i wmiir xwrite /ctl view "$i"
Il faut le transformer en:for i in 0 1 2 3 4 5 6 7 8 9; do cat <<! Key $MODKEY-$i recordCurrentTag # Enregistre le tag de la vue actuelle avant d'en changer wmiir xwrite /ctl view "$i"
J’ai par exemple rajouté recordCurrentTag au début du code de mon message précédent, pour les touches Key $MODKEY-Prior et Key $MODKEY-Next.

Remarque: La encore il s’agit de mes premiers scripts, donc ça n’est pas forcément fait dans les règles de l’art. Par exemple j’ai essayé d’utiliser une variable plutot qu’un fichier pour mémoriser le tag de la vue précédente, mais sans succés.