Which window manager has Python bindings?

They are not "major" window managers, but there are three window managers that are python-based:

  • qtile, a hackable tiling window manager written in Python.
  • PyWM, a "pythonised" version of the fast light FLWM window manager.
  • whimsy, a small (~1000 SLOC), highly hackable window manager written in Python.

There is another one, samurai-x that is described as a "work in progress."

You could also take a look at stiler, a simple python script which does tiling on any window manager and PyWo which does the same thing on EWMH compliant window managers.


Two others that weren't mentioned:

  • Silver Desktop Environment
  • Cream Desktop Environment

To this edited date, Cream Desktop Environment has no activity since 19 Jan 2014, according to the project site on GitHub. The main website is down since mid-2013, according to Internet Archive Wayback Machine but available as last good capture dated 28 Jan 2013.


pyxfce offered Python bindings to XFCE. Unfortunately, it is no longer maintained since 2009.

I agree that Python bindings for popular desktop environments is something that is missed by many potential desktop application developers. However, this should not impede you from going ahead and developing something in Python whilst taking advantage of freedesktop.org specifications.

Finally, it may be possible to integrate your Python application by adding some C boilerplate code. For example, the XFCE wiki explains how to create panel plugins. Desktop developers may be willing to help you out if you ask them.

Also, you might have more luck finding Python bindings for both the Cinnamon and Mate desktop environments. The Linux Mint team develops its custom applications mainly in Python.