Il est basé sur tinywm et stumpwm et est distribué sous licence GPLv3.
CLFSWM est extrêmement dynamique : par défaut il n'y a qu'un cadre. Les autres cadres sont ajoutés au fur et à mesure suivant les besoins. Un cadre peut contenir des fenêtres ou d'autres cadres. Une fenêtre peut être présente dans plusieurs cadres. Ce qui permet différentes vue des mêmes fenêtres.
CLFSWM n'est pas à proprement parler un 'tiling window manager' puisque les fenêtres sont la plupart du temps maximisées mais la possibilité de les mettre en pavage (tiler) est présente. De plus, une fenêtre peut être flottante ou prise en charge par son cadre (maximisée, pavée…) Depuis la dernière annonce sur LinuxFr.org, beaucoup de changements ont été effectués.
Tout d'abord CLFSWM ne fait plus référence aux bureaux (workspaces). En effet, maintenant CLFSWM n'est constitué que de cadres ou de fenêtres d'applications. L'écran est constitué d'un cadre principal et de ses enfants. Chaque cadre peut contenir des fenêtres ou d'autres cadres. Le cadre principal est maximisé à l'écran sans décoration.
Chaque cadre peut arranger ses enfants de manière différente : les uns derrière les autres (à la Ion), en pavé, en colonnes avec une fenêtre principale (à la larswm).
Un agencement spécial pour le GIMP est aussi présent : les fenêtres en colonnes avec une fenêtre principale et un focus qui suit la souris.
Chaque cadre peut avoir une gestion du focus de la souris différent : clic pour avoir le focus, le focus suit la souris (sloppy focus), le focus suit la souris de manière stricte (seulement pour le cadre courant), la souris sélectionne le cadre en passant dessus.
De plus chaque cadre peut avoir un hook associé à la création d'une fenêtre pour lui indiquer ce qu'il doit faire de la nouvelle fenêtre : l'absorber, l'ignorer ou la placer dans un autre cadre...
Maintenant, utiliser CLFSWM est comme naviguer dans un arbre de cadres et de fenêtres. Il suffit d'entrer dans un enfant (cadre ou fenêtre) pour le maximiser.
Pour ce faire une idée, voila les touches par défaut pour naviguer dans CLFSWM :
- Alt-Tab : circule à travers les enfants du cadre sélectionné ;
- Alt-Droite/Gauche : circule à travers les frères du cadre sélectionné. C'est comme circuler entre différents bureaux pour un gestionnaire de fenêtre plus conventionnel ;
- Alt-Haut : sélectionne le premier enfant du cadre courant ;
- Alt-Bas : sélectionne le parent de l'enfant courant ;
- Alt-Entrer : entre dans l'enfant courant et le maximise à l'écran;
- Alt+Shift-Entrer : sort de l'enfant courant et maximise son parent.
CLFSWM utilise toujours deux modes. Le mode principal avec très peu de raccourcis pour éviter les collisions avec les autres programmes (qui a dit Emacs ?).
Et un second mode avec beaucoup plus de raccourcis qui permettent de gérer les cadres et les fenêtres, le tout se faisant uniquement au clavier ou à l'aide de la souris. La liste des touches peut donner une idée de ce que l'on peut faire avec.
De plus, beaucoup de fonctions sont accessibles par un système de menu qui évite de retenir trop de raccourcis clavier.
Les coins de l'écran sont actifs dans CLFSWM. Ce qui permet d'avoir un Exposé comme dans Mac OS X en cliquant dans le coin en bas à droite ou un clavier virtuel en cliquant dans le coin en haut à droite ou un terminal à la Quake console en cliquant en haut à gauche, etc.
CLFSWM étant écrit en Common Lisp, le fichier de configuration est lui aussi en Common Lisp. En fait, on peut voir CLFSWM comme un gros fichier de configuration autour de quelques fonctions de la XLib. Un système de hook est présent mais tout est modifiable via le fichier de configuration, il suffit de regarder le code source et de redéfinir la/les fonction(s) voulue(s).
Des vidéos sont présentes sur le site pour se faire une idée plus précise. Et un trac est ouvert pour suivre le développement de CLFSWM.
Aller plus loin
- CLFSWM (16 clics)
- Le wiki/trac de CLFSWM (5 clics)
- L'organisation de CLFSWM (vidéo) (3 clics)
- Un exemple de hack (vidéo) (4 clics)
- Un exemple d'organisation pour le GIMP (vidéo) (6 clics)
- L'annonce précédente (4 clics)
# Intéressant !
Posté par Juba (site web personnel) . Évalué à 2.
Par contre, le wiki/trac a l'air dans les choux présentement...
# Pourquoi pas utilisable à la souris ?
Posté par Mildred (site web personnel) . Évalué à 4.
Ce genre de gestionnaire de fenêtre m'intéresse beaucoup, j'aime beaucoup l'interface de Blender justement pour cet aspect qui permet de tout avoir à l'écran, mais je n'aime pas trop être forcée d'utiliser le clavier.
Surtout que maintenant que j'ai un portable avec un trackpad à coté du clavier, je trouve la souris bien plus agréable. Et puis, comme je personnalise au maximum ma carte du clavier, les raccourcis clavier ne sont jamais sur de fonctionner chez moi (dernièrement je n'avais pas de touche Alt, je l'avais remplacée par AltGr, maintenant je l'ai mappée sur Ctrl car c'est quand même pratique des fois ...)
Je sais, propose un patch ... mais c'est pas très urgent, je préfèrerais patcher mon lecteur de mail (claw-mail) pour avoir une interface qui freeze un peu moins (et une IDM digne de ce nom), mais je crois que je vais tout simplement créer le mien :)
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par hocwp (site web personnel) . Évalué à 4.
Par exemple, on peut déplacer ou retailler un cadre ou une fenêtre avec Alt+bouton gauche/droit.
Pour créer un nouveau cadre il suffit de le dessiner avec la souris sur le fond d'écran. Les coins de l'écran réagissent aux clics de la souris, etc...
Toutes ses actions sont aussi faisables rien qu'avec le clavier.
D'ailleurs c'est une des raisons qui m'ont fait quitter Stumpwm parce que la souris n'est pas gérée de base : c'est un Ratpoison en Common Lisp.
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par Mildred (site web personnel) . Évalué à 2.
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par hocwp (site web personnel) . Évalué à 2.
par exemple
(defun mon-action-avec-la-souris ()
"La documentation de la fonction"
(le code ici))
(define-main-mouse (1 :control) 'mon-action-avec-la-souris)
Ici, control + le bouton gauche de la souris lance mon-action-avec-la-souris dans le mode principal.
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par Julien Danjou (site web personnel) . Évalué à 2.
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par sbaboc . Évalué à 2.
Je joue avec clfswm depuis... ce matin, installé grâce au script que tu as posté (merci hocwp!). Mais ayant fait plusieurs tentatives je n'ai réussi qu'une seule fois à l'utiliser; les autres fois j'ai la première fenêtre mais aucun raccourci ni de clavier ni de souris n'a marché, et je ne sais pas pourquoi une fois ça fonctionnait bien au contraire...
Bien sûr je peux lancer une app dans cette fenêtre, même plusieurs de suite, mais impossible de définir une autre fenêtre ni de circuler entre mes applications.
Il n'y a pas d'incompatibilité avec xbindkeys quand même?
Un peu perdu quand même...
(ubuntu 8.04)
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par sbaboc . Évalué à 2.
Par tâtonnement j'ai fini par enlever numlockx de mon fichier .xsession, et là tout semble aller pour le mieux....
Très agréable à utiliser ce clfswm, un grand merci donc à hocwp en personne et à LISP en général.
(s'il y a un truc pour avoir quand même numlockx au démarrage je serai bien sûr preneur)
jean
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par sbaboc . Évalué à 1.
En fait ce n'est pas le programme numlockx qui bloque chez moi, mais l'activation du pavé numérique même faite à la main; est-ce bien normal?
jean
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par hocwp (site web personnel) . Évalué à 2.
Ton problème avec le pavé numérique est tout à fait normal : je n'ai pas encore fais comme dans xbindkeys où on peut ignorer le numlock du pavé numérique.
Pour l'instant la version bourrine pour gérer le pavé est de rajouter :mod-2 à toutes les association de touches.
Je rajoute ça dans la TODO liste pour la prochaine version (et dans le git/svn sous peu).
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par sbaboc . Évalué à 1.
Bien compris pour le pavé numérique; autre dommage collatéral mais pas mortel :-) :
la touche menu qui remplace avantageusement M-x dans emacs ne fonctionne plus, à moins que je n'active le pavé numérique...
Mais je continue mes expériences,
à+,
[^] # Re: Pourquoi pas utilisable à la souris ?
Posté par hocwp (site web personnel) . Évalué à 2.
Pour pouvoir t'en servir à autre chose, tu peux rajouter ceci dans ton fichier de configuration
($XDG_CONFIG_HOME/clfswm/clfswmrc ou ~/.clfswmrc) :
(undefine-main-key ("Menu"))
# Performances ?
Posté par Neije . Évalué à 1.
- temps de boot
- empreinte mémoire
- ...
Ce n'est pas parce que les choses sont difficiles que nous n'osons pas. C'est parce que nous n'osons pas qu'elles sont difficiles. - Sénéque
[^] # Re: Performances ?
Posté par hocwp (site web personnel) . Évalué à 4.
> - temps de boot
Le temps de charger le Lisp : quelques secondes pour CLisp un peu plus pour SBCL.
> - empreinte mémoire
Environ 2Mo pour CLisp, 30Mo pour SBCL/CMUCL.
M'enfin CLFSWM passe la certification P133-32M : il est parfaitement utilisable sur ma vielle brouette de 133 MHz 32 Mo de RAM :)
> - ...
Il faut qu'en même noter que le compilateur Lisp reste chargé en mémoire. C'est comme si on chargeait GCC et que l'on permette la compilation à la volée avec un gestionnaire de fenêtre écrit en C.
# paquet debian ?
Posté par tarlack . Évalué à 2.
étant utilisateur de ion3 et celui-ci ayant quelques problemes au moins sur ma config, le concept de CLFSWM m'interesse beaucoup, vu qu'il semble bien plus general que ion3 (l'arbre de cadres me plait beaucoup !), et qu'il semble facile de refaire ion3 au moins partiellement comme un cas particulier de CLFSWM...bref, il est clairement dans ma liste "TO-TEST" :)
mais pour le tester, il faut l'installer, et ne voulant pas le faire à la main, j'ai cherché un paquet debian...mais je n'en ai trouvé aucun, meme pas pour une version plus ancienne...il n'y a donc que l'installation à la main comme possibilité ? ou j'ai mal cherché ?
[^] # Re: paquet debian ?
Posté par Xavier Maillard . Évalué à -1.
Mauvaise distro => change distro.
[^] # Re: paquet debian ?
Posté par tarlack . Évalué à 3.
....
ah mince on est vendredi :D
[^] # Re: paquet debian ?
Posté par hocwp (site web personnel) . Évalué à 2.
Par contre j'ai fait un paquet binaire ici (testé sur Slackware et Ubuntu) :
http://common-lisp.net/project/clfswm/clfswm-bin-0809.tar.gz
Il suffit de l'extraire quelque part et de lancer le script clfswm à la place du gestionnaire de fenêtres.
Par exemple pour le tester sur un display en parallèle il suffit de mettre dans le ~/.xinitrc :
#!/bin/sh
# xhost local:local ## si problème de protocole
xterm
puis dans une console
startx -- :1
et dans le xterm du display :1
cd clfswm-bin-0809
./clfswm
Sinon sous debian le test doit donner un truc du genre:
apt-get install sbcl cl-clx-sbcl
puis dans un terminal sans gestionnaire de fichier:
tar xzvf clfswm-0809.tar.gz
sbcl --load /ou/est/clfswm/load.lisp
Il y a plus de détails sur le wiki, mais pour l'instant il est aux fraises... :(
[^] # Re: paquet debian ?
Posté par hocwp (site web personnel) . Évalué à 1.
[^] # Re: paquet debian ?
Posté par tarlack . Évalué à 2.
cela ne me regarde peut-etre pas, mais pourquoi tu devrais faire un paquet non-officiel ? pourquoi pas un officiel ?
[^] # Re: paquet debian ?
Posté par hocwp (site web personnel) . Évalué à 1.
Bon je vais demander chez debian vue qu'il semble y avoir une demande.
# vs Stumpwm
Posté par librinfo . Évalué à 3.
[^] # Re: vs Stumpwm
Posté par hocwp (site web personnel) . Évalué à 2.
Dans clfswm au contraire les cadres peuvent se superposer : leur coordonnés s'expriment de manière relative (en %) au cadre parent.
L'autre différence est qu'un cadre de clfswm peut contenir d'autres cadres. Ce qui permet de grouper les applications pour naviguer rapidement entre elles.
Un cadre peut agencer les cadres et les fenêtres qu'il contient de manière différentes (tiler, maximiser...)
La gestion de la souris est prévue depuis le début dans clfswm (dans tous les modes), au contraire de stumpwm qui prône sont bannissement.
clfswm gère aussi les fenêtres flottantes. N'importe quelle fenêtre peut être flottante ou prise en charge par son cadre.
Comme exemple de différences, regarde comment se gère le GIMP dans clfswm (5ème lien dans la news) et comment tu le gère dans stumpwm.
Sinon de manière (beaucoup) plus subjective, je trouve clfswm plus souple à utiliser que stumpwm.
# Le trac n'est plus aux fraises.
Posté par hocwp (site web personnel) . Évalué à 2.
[^] # Re: Le trac n'est plus aux fraises.
Posté par Xavier Maillard . Évalué à 1.
[^] # Re: Le trac est parti aux champignons maintenant...
Posté par hocwp (site web personnel) . Évalué à 2.
# tutorial texte ?
Posté par left . Évalué à 2.
Bref, les tutorials en video c'est bien mais un petit fichier texte qui décrit les manips de base, ça serait une *très* bonne idée. Une fois les quelques manips de base comprises, j'irai voir les videos pour en savoir plus.
Merci d'avance ;-)
[^] # Re: tutorial texte ?
Posté par hocwp (site web personnel) . Évalué à 2.
Ensuite la liste des touches t'indique ce que tu peux faire avec le clavier _et_ la souris dans chacun des modes : http://common-lisp.net/project/clfswm/keys.html
Et enfin la liste des actions avec les coins de l'écran est indiquée ici :
http://common-lisp.net/project/clfswm/corner.html
Sinon les touches que j'utilise beaucoup:
* Control+> et o pour ouvrir la prochaine fenêtre dans un nouveau cadre.
* Control+> et ! pour exécuter une commande quand je n'ai pas un terminal d'ouvert.
Après la navigation se fait comme indiqué dans la news.
Pour déplacer une fenêtre d'un cadre à l'autre, c'est control+x/c pour couper/copier puis control+v pour coller. Tout ceci dans le second mode (control+>).
Je vais rajouter une page sur le wiki qui est enfin (pour l'instant) accessible :)
[^] # Re: tutorial texte ?
Posté par left . Évalué à 2.
Je m'y perd encore un peu et je suis parfois bloqué (genre quand je clique sur une application ça passe à la suivante !) mais je vais persévérer. Je vais surtout vite regarder pour définir mes bindings habituels pour avoir la base, le reste viendra après ;)
[^] # Re: tutorial texte ?
Posté par hocwp (site web personnel) . Évalué à 2.
Sinon merci pour ta persévérance parce que clfswm demande sûrement un temps assez long d'adaptation. Mais ça ne devrais pas être trop dur si tu a déjà joué avec d'autres tiling wm (larswm, ion, dwm...).
[^] # Re: tutorial texte ?
Posté par hocwp (site web personnel) . Évalué à 2.
Un version française est aussi prévue. N'hésite pas à corriger ou à demander des infos complémentaires.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.