A small, scriptable window manager, with a 9P filesystem interface and an acme-like layout.
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmd Fix the patch in LD_PRELOAD for wihack Dec 9, 2013
debian [debian] Fix some lintian warnings. Jul 7, 2010
doc Add doc/mkfile for building wmii.pdf with an optional MAINFONT variab… Sep 27, 2011
examples [menu] Update manual. Add file completion example. Oct 7, 2010
img [menu] Add vertical mode. Oct 7, 2010
rc Fix Notice command. Dec 9, 2013
test Rearrange some things. Jun 14, 2010
util Move pkg-config libs after other LDFLAGS. Closes issue #245. Oct 20, 2011
.hgignore [python] Use distutils to compile and install pygmi/pyxp. Jun 27, 2010
.hgsigs Added signature for changeset 3ea520ff8668c297a5c6b667a68b3c3a1f44fec5 May 31, 2007
.travis.yml add libxinerama-dev and libxrandr-dev dependencies in Travis CI May 20, 2018
DISTRIBUTORS Fix some DISTRIBUTORS typos spotted by Snader_LB (OFTC). May 27, 2011
FAQ Use IXP_ASSERT_VERSION macro. Jun 17, 2010
Makefile rename README to README.md in Makefile May 19, 2018
NEWS [python] Use distutils to compile and install pygmi/pyxp. Jun 27, 2010
PKGBUILD [arch] Fix pkgdesc for pyxp/pygmi. Jul 7, 2010
README.md add build badges Mar 31, 2017
TODO Best just read the diff. Aug 25, 2008
config.mk [python] Use distutils to compile and install pygmi/pyxp. Jun 27, 2010


Build Status Coverity Scan Build Status


wmii is a dynamic window manager for X11. It supports classic and tiled window management with extended keyboard, mouse, and 9P-based[1] remote control. It consists of the wmii(1) window manager and the wmiir(1) the remote access utility.


In order to build wmii you need the Xlib header files and libixp. xmessage is used by the default scripts. Libixp, if not provided, can be obtained from http://libs.suckless.org/. On debian, you should be able to obtain all dependencies by running make deb-dep. Python is recommended for more advanced configurations.


First, edit config.mk to match your local setup.

To build, simply run: make

To install, run the following, as root if necessary: make install

On debian, you should only have to run make deb to create a debian package. No further configuration should be necessary.

Running wmii

Add the following line to your .xinitrc to start wmii using startx:

until wmii; do :; done

In order to connect wmii to a specific display, make sure that the DISPLAY environment variable is set correctly. For example:

DISPLAY=:1 wmii

This will start wmii on display :1.


The configuration of wmii is done by customizing the rc script wmiirc, which remotely controls the window manager and handles various events. The main wmiirc script lives in @GLOBALCONF@ while wmiirc_local goes in @LOCALCONF@.

More advanced versions of wmiirc are provided in python and ruby. For more information on them, see alternative_wmiircs/README.


The following people have contributed especially to wmii in various ways:

  • Christoph Wegscheider
  • Georg Neis
  • Uwe Zeisberger
  • Uriel
  • Scot Doyle
  • Sebastian Hartmann
  • Bernhard Leiner
  • Jonas Domeij
  • Vincent <10 dot 50 at free dot fr>
  • Oliver Kopp
  • Sebastian Roth
  • Nico Golde
  • Steve Hoffman
  • Christof Musik
  • Steffen Liebergeld
  • Tobias Walkowiak
  • Sander van Dijk
  • Salvador Peiro
  • Anthony Martin
  • Icarus Sparry
  • Norman Golisz
  • Stefano K. Lee
  • Stefan Tibus
  • Neptun
  • Daniel Wäber <_wabu at web dot de>


[1] http://9p.cat-v.org [2] http://plan9.us