Pycachoux
Idées à garder
- 100% python !
- 100% GPL
- Respecter http://www.python.org/dev/peps/pep-0008/ !
- Utiliser pylint et pychecker pour vérifier la qualité du code (et aider à vérifier le respect de la pep8).
- Shell python pour interagir en direct avec le wm
- Proposer un max de fonctionnalité directement dans le wm, histoire d'éviter les horribles hacks de fvwm pour faire des trucs basiques (comme la preview de la fenêtre quand on la réduit sur le bureau). Bon attention, faut pas non plus refaire un kde :P
- Le fichier de configuration sera plus qu'une simple suite d'initialisation de variables. On devra créer une classe qui héritera du wm, et qui activera toutes les fonctionnalités que l'utilisateur veut, et en leur passant les paramètres qui vont bien pour chacun (comme la position des éléments par exemple).
- Dans l'éventuel cas où aucun fichier de configuration de ce style n'aurait été trouvé, on proposerait une config par défaut qui fasse pâlir la plus belle conf pour fvwm :D
- On proposerait aussi un certain nombre de config sur le site (on intégrerait aussi les plus belles configs venant des utilisateurs).
- Respecter les standards, notamment les "Window Manager Specification" de freedesktop (anciennement "Extended Window Manager Hints") http://www.freedesktop.org/wiki/Specifications/wm-spec (http://svn.last-exile.org/test/docs/wm-spec-1.3.pdf)
- Regarder aussi du côté de l'ancienne spec ICCCM http://tronche.com/gui/x/icccm/ (http://svn.last-exile.org/test/docs/icccm.pdf)
- Mécanisme client serveur (à la emacs/emacsclient) pour le WM : il faut pouvoir dialoguer avec le WM par un shell (python via Cmd). On utilisera une socket unix. Possibilité de mettre ce client dans le process d'un buffer emacs : comme ça on pourra contrôler tout le WM à partir d'emacs. (Et on peut aussi partir du mode python et ajouter nos propres customizations...)
- Regarder les possibilités d'extension du WM : avec des hooks (comme dans emacs), avec de l'héritage, ...
Idées à oublier
- Refaire un kde
- Fichier de configuration contenant uniquement des déclarations de variables
Download in other formats: