view this page in english

\o/ Bienvenue sur le wiki du projet PycaWM \o/

PycaWM est un gestionnaire de fenêtres (window manager) écrit en python et distribué sous licence GPLv3.

Fonctionnalités

  • reparenting
  • redimensionnement
  • diverses maximisations :
    • maximisation classique
    • maximisation horizontale
    • maximisation verticale
    • maximisation sur l'espace libre
    • maximisation horizontale sur l'espace libre
    • maximisation verticale sur l'espace libre
    • plein écran
  • iconification
  • enroulement
  • gestion des bureaux virtuels
  • boutons sur la barre de titre (les boutons sont personnalisables, et on peut placer ceux que l'on veut aussi bien sur la gauche que sur la droite)
  • gestion des menus et sous-menus (pour changer la fenêtre active, pour lancer des applications, ...).
  • gestion des raccourcis clavier.
  • gestion des focus (SloppyFocus, ClickToFocus, FocusFollowsMouse, ClickToSloppyFocus)
  • gestion des modes de placement pour les fenêtres.
  • gestion des fenêtres non reparentables (xmms, gkrellm, ...)
  • gestion des fenêtres non rectangulaires (via l'extension SHAPE du serveur X)
  • support des gestionnaires de connexions (GDM et KDM)
  • support du redémarrage dynamique (et du lancement d'autres wms à la place de PycaWM)

Avantages

  • on peut se hooker sur n'importe quelle méthode/fonction, ce qui permet de réagir sur tout et n'importe quoi (très utile pour les plugins notamment).
  • le fichier de configuration est écrit en python, et non pas dans une syntaxe obscure/absconse.
  • PycaWM est conçu pour pouvoir être modifié dynamiquement lors de l'exécution. On peut ainsi rajouter/enlever des boutons, des raccourcis clavier, des plugins, voire même modifier une méthode du gestionnaire de fenêtres lui-même.
  • proposer un maximum de fonctionnalités 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).

Spécifications respectées

Plugins

  • MiniIconBox : permet de montrer les fenêtres iconifiées. Chaque fenêtre iconifiée est représentée par sa mini-icône et son titre.
  • MovePos : permet de montrer la position d'une fenêtre en train d'être bougée.
  • ResizePos : permet de montrer les dimensions d'une fenêtre en train d'être redimensionnée.
  • StickRootEdges : permet d'avoir des bords collants sur la fenêtre root.
  • RemoteREPL : permet d'ajouter un REPL (shell python) à PycaWM. On peut ainsi inspecter et modifier le gestionnaire de fenêtres pendant l'exécution. Pour se connecter au REPL, utiliser le programme "pycarepl".
  • Pager : permet de gérer facilement les bureaux virtuels.
  • ActionButtonBox : permet de mettre des boutons directement sur le bureau et d'interagir avec eux (de la même façon qu'avec les boutons de la barre des titres des fenêtres). Peut par exemple servir pour lancer rapidement des logiciels, ou bien encore permettre de réaliser des actions ou d'afficher un menu.
  • MusicActionButtonBox : ActionButtonBox permettant de contrôler son lecteur de musique grâce à deux ActionButton sur le bureau. Les lecteurs gérés sont pour l'instant xmms, xmms2, mpd et amarok.

Pré-requis