A window manager for Microsoft Windows written in Clojure.
Clojure C# Shell
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
.nuget Fix bug, add libs to repo. Feb 16, 2014
script Improve command/hotkey system. Dec 18, 2012
.gitignore Fix bug, add libs to repo. Feb 16, 2014
README.md Release package 0.03. Jan 11, 2013
changelog.txt Add clear tag command. Jan 11, 2013
clojurewm.l4v Create Windows Forms "InfoBar" to render messages. Dec 15, 2012



Sick and tired of having no suitable window manager while working in Microsoft Windows.

Inspired by xmonad, scrotwm, dwm, windawesome, Actual Window Manager, python-windows-tiler, bug.n.

Built with clojure-clr, and ClojureClrEx for logging, pinvoke, and type building.


There is no suitable way to easily organize and recall large numbers of windows while working on Microsoft Windows. Alt-Tab fails, and moving a hand to the mouse interrupts flow. Support for virtual desktops in Windows is bad as well, especially for multiple monitors.

What is really needed is a way to easily tag and recall windows on demand, free from any concepts of virtual desktops, monitors or window layouts.


clojurewm will:

  • provide an easy way to tag windows with any hotkey combination at runtime.
  • immediately focus a tagged window whenever this hotkey is entered.
  • not require a configuration file to set window tags.
  • not hide any windows (e.g. virtual desktops).
  • not tile any windows (use http://winsplit-revolution.com/home).



window : any opened window
hotkey : a key combination (e.g. Alt-1, Alt-Shift-T)
tag : a hotkey to which a window or windows are assigned.


Tag window

Assign a hotkey tag to the currently focused window. The next key sequence entered will used. Entering the hotkey again will recall all windows tagged with that hotkey.

Fullscreen window

Fullscreen the current window, hiding and borders and title bar. Still in alpha, doesn't work propertly for all applications, and behaves oddly on multiple monitors.

Next Window

Switch to the next window in the currently active tag.

Previous Window

Switch to the previous window in the currently active tag.

Activate Tag

[user defined]
Activate tag and recall (bring to foreground) all windows with this tag.


Quit clojurewm.

Getting clojurewm

Download the latest release package here: https://dl.dropbox.com/u/101986306/clojurewm-0.03.zip
To start clojurewm run clojurewm.run.exe
To start clojurewm with a REPL run clojurewm.console.exe --clj from cmd.


  • Configurable hotkey assignment hotkey for commands.
  • Command to display current tag list.
  • Bugs?