Extrait de journal de discussion sur IRC :
19:06 <xorg62_> WMFS2 dans le master \o/
Traduction : la version 2 de WMFS est sortie, c'est par conséquent une joie intense palpable qui s'exprime aujourd'hui dans l'atmosphère.
Non ce n'est pas une fausse annonce, la nouvelle version tant attendue de WMFS2 est bien sortie ce lundi 16 janvier ! Qu'apporte-t-elle ? Pourquoi une nouvelle version ?
Pour information ou rappel, WMFS est l'acronyme de Window Manager From Scratch. Il s'agit d'un gestionnaire de fenêtres libre (licence BSD) pour X11, du type « tiling », comme Ion et Awesome par exemple.
Nouvelle version, nouveau code
xorg62 avait décidé il y a quelques mois de reprendre le code de WMFS de zéro, afin de repartir sur une base saine et une architecture propre. Ayant désormais un cahier des charges bien défini pour ce bijou des tiling window managers, il fallait donc écrire un code en conséquence, là fût le but premier de WMFS2.
Ainsi, cette nouvelle version dispose d'une architecture toute nouvelle, et toute propre. Cela signifie donc : de nouvelles fonctionnalités, d'anciennes fonctionnalités améliorées, et d'autres à venir.
Un point sur WMFS1
Actuellement, si vous avez WMFS1, vous disposez des fonctionnalités suivantes :
- Différentes dispositions dynamiques
- Un mode de pavage manuel (le splitmode)
- Une barre d'infos avec :
- Liste des tags
- Menu disposition
- Une barre de sélection (optionnelle, permet d'afficher le titre du client actuellement sélectionné, en cliquant dessus on obtient un menu contenant tout les clients du tag courant)
- Une barre d'état (permet d'afficher différentes informations dans la barre d'info, via une XProp)
- Des tags (avec possibilité de cacher les tag sans aucun client, ainsi que le tagging dynamique)
- Un lanceur (avec complétion, possibilité de configurer la commande de lancement, pour par exemple lancer directement une commande WMFS)
- Une zone de notification (optionnelle)
- Une configuration aisée
Les nouveautés de WMFS2
Pavage manuel
La plus importante des nouveautés est au niveau du pavage (tiling), désormais il est entièrement manuel (il fut appelé un temps split layout). Les fenêtres sont séparées automatiquement (verticalement ou horizontalement selon la taille du client) et vous pouvez les redimensionner comme bon vous semble.
La technologie des réglages précédents (presets)
Mais ce n'est pas la seule nouveautés, xorg62 a introduit le concept des presets, un historique des dispositions des clients. Ainsi lorsque vous redimensionnez un client, vous pouvez revenir à la disposition précédent le redimensionnement, ingénieux non ?
Le tabbing
Plusieurs clients dans une seule frame ? C'est désormais possible, vous pouvez tabber vos clients dans toutes les directions, et lorsque vous souhaitez les untabber, ces derniers reprennent leurs anciennes places.
Les infobar
Oui, j'ai bien dit les. Avec l'apparition de la section bars dans la configuration, on peut ainsi créer de multiples barres d'info. Dans cette section de la configuration, on peut donc nommer chaque infobar et choisir quels éléments seront présents dedans :
[bars]
# Elements :
# t - Tag list
# s - Status
# more elements are coming
[bar]
name = "topbar"
screen = 0
position = 0
elements = "t"
theme = "default"
[/bar]
[bar]
name = "botbar"
screen = 0
position = 0
elements = "s"
theme = "other_theme"
[/bar]
[/bars]
Apparition de la section themes
Notre cher xorg62 a donc concentré toutes les options graphiques (couleurs, polices, etc.) dans une section de la configuration. Mieux, il a introduit la possibilité de créer plusieurs thèmes, vous pouvez donc choisir un thème spécifique pour une barre d'info en particulier, ou alors définir (à l'aide des règles) un thème différent pour certaines applications, les possibilités sont multiples !
[themes]
[theme]
name = "mon_theme"
font = "fixed"
#...
[/theme]
[theme]
name = "autre_theme"
font = "terminus"
# ...
[/theme]
[/themes]
Le FIFO
C'est le seul endroit de WMFS2 sur lequel j'ai participé. Vous vous souvenez de wmfs -s
et de wmfs -c
? Cela vous permettait d'envoyer un nouveau texte d'état (statustext), et de lancer quelques fonctions de WMFS.
Ceci a été remplacé par un FIFO :
$ echo "spawn urxvt" > /tmp/wmfs-$DISPLAY.fifo
$ echo "status <infobar name> <statustext>" > /tmp/wmfs-$DISPLAY.fifo
Bon, et maintenant, il vous reste plus qu'à prendre votre cher conky, à lui faire afficher sur la ligne de commande"status <infobar name> ..."
et enfin :
$ conky > /tmp/wmfs-$DISPLAY.fifo
Les possibilités sont encore une fois multiples !
Les choses manquantes, mais qui vont arriver
Le lanceur, la zone de notification et certaines uicb (user interface callback) n'ont pas encore été implémentées, mais cela ne saurait tarder.
Conclusion
Je vous invite à tester cette nouvelle version qui promet d'être encore plus énorme que la première !
Aller plus loin
- Site officiel (1643 clics)
- Annonce sur le site (179 clics)
- WMFS2 sur github (256 clics)
- WMFS1 sur github (169 clics)
# WMFSFS
Posté par spider-mario . Évalué à 10.
Ce qui fait de WMFS 2 : « Window Manager From Scratch From Scratch ».
[^] # Re: WMFSFS
Posté par Mr. Magne . Évalué à 2.
WMFS² ?
[^] # Re: WMFSFS
Posté par Lawrence P. Waterhouse (site web personnel) . Évalué à 10.
WM(FS)²
# La terminaison "fs"...
Posté par AP . Évalué à 10.
La terminaison "fs" est trompeuse. Moi ça me fait penser d'abord à un système de fichiers. En lisant juste le titre, je me suis dit "tiens un nouveau système de fichiers... euh... spécial pour Window maker ?". :)
# FIFO
Posté par Benoît . Évalué à 9.
En ce qui concerne le FIFO, c'est pas un peu risqué d'avoir un fichier dans /tmp avec un nom prédictible? Il pourrait être créé par un malfrat juste avant que WMFS2 ne le crée, ce qui ouvre la voie à toutes sortes de manigances...
# Possibilité
Posté par barmic . Évalué à 2.
WMFS2 me semble très intéressant. Je me demande juste s'il est possible de prédéfinir un pavage, je m'explique ce que j'aime c'est pouvoir dire « Je donne tel tag à ce client et il iras dans tel frame ». C'est, avec le tabbing, pour moi la fonctionnalité ultime qui me ferrais passer à un nouveau WM (note, je sais ça existe mais j'ai pas encore pris le temps de tout essayé, j'ai tenté avec xmonad, mais ça configuration est assez complexe je trouve).
Enfin mais c'est secondaire pour moi est-il possible de gérer de multiples écrans dans WMFS2 ? Dans awesome j'aime beaucoup avoir une série de tag dans un écran et une autre dans l'autre.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Possibilité
Posté par David Delassus (site web personnel) . Évalué à 2.
Actuellement impossible, désolé. Tu peux toujours faire une feature request sur le bugtracker.
Ou bien évidement :)
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Possibilité
Posté par bubar🦥 (Mastodon) . Évalué à 4. Dernière modification le 19 janvier 2012 à 05:57.
Kwin le fait. Active le dallage (il y a plusieurs comportements pré-définis, prends celui que tu préfères, et de toutes façons ils sont tous modifiables) Lorsque tu lances une app pour la première fois : click droit sur son kwin : dans les multiples options de configuration tu peux choisir la taille la position le bureau, etc.. Ces fonctions couplées au dallage, et sa configuration spécifique, te permettront d'obtenir : "prédéfinir un pavage" et "Je donne tel tag à ce client et il iras dans tel frame". Perso n'étant pas un pur amateur de tiling, je préfère le mode "floating" : tiling au lancement, pour le placement par défaut, mais n'empêche pas des fenêtres surperposées si besoin
[^] # Re: Possibilité
Posté par barmic . Évalué à 2.
Ça tombe bien je voulais re-tester KDE auquel je n'ai pas touché depuis 4.0 ou 4.1. Par contre je vais tester la version 4.4 parce que je suis sous Debian Stable.
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Possibilité
Posté par Nonolapéro . Évalué à 2.
Faut regarder à partir de quelle version le tilling est apparu, je ne suis pas certain que ce soit si vieux. Il serait peut-être préférable de passer par une version live-usb de chakra par exemple pour avoir la version 4.7.
[^] # Re: Possibilité
Posté par bubar🦥 (Mastodon) . Évalué à 2.
Ouhai, en plus je ne sais pas (n'ayant pas d'éléments comparatifs) si on peut faire du "vrai dallage pur et dur", il me semble avoir lu à plusieurs reprises que ce n'était pas ça. Bref, à voir par quelqu'un ayant l'habitude de ce type de comportement : vous :)
[^] # Re: Possibilité
Posté par barmic . Évalué à 2.
Me faire changer d'environnement de bureau c'est une chose de distribution ça en est une autre (et je en me vois pas backporter KDE …).
Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
[^] # Re: Possibilité
Posté par Nonolapéro . Évalué à 4.
C'est juste pour faire un essai, je ne te propose pas de l'installer.
[^] # Re: Possibilité
Posté par Paul . Évalué à 2.
Tu peux peut-être regarder du côté de Subtle, c'est du tilling mais l'approche est un peu différente de ce qu'on voit ailleurs.
# problem pour lancer un terminal
Posté par lendemain . Évalué à 3.
Je n'arrive pas a lancer un terminal, j'ai le message "execl(sh -c emacs").
Je regarde dans le code => util.h:115
Je test avec la fonction execl avec "/bin/bash" au lieux de la varaible sh, ça marche.
Le problème vient du fait que getenv("SHELL") retourne "bash".
Petite précision mon $SHELL = "bash" et je n'ai jamais eut de problèmes.
[^] # Re: problem pour lancer un terminal
Posté par David Delassus (site web personnel) . Évalué à 2.
Ouvre un ticket sur le bugtracker ou rapporte le bug sur le salon IRC :)
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: problem pour lancer un terminal
Posté par barmic . Évalué à 2.
Il faudrait aller chercher le shell dans
/etc/passwd
, non ?Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.