The Dynamic Window Manager or dwm is my window manager of choice on GNU/Linux. It is a tiling window manager, meaning that instead of applying the desktop metaphor to applications, it tiles them. That means that every time an application is launched, all of the currently active applications are resized to make room for the new application. When in tiling mode, all the applications are completely visible – none are obscured by other windows as there is no overlapping.

dwm is extremely minimal, even for a tiling window manager. One of dwm’s project goals is to never exceed 2,000 lines of C code. There are no configuration files – all configuration is handled directly in the source code. This means that any time you make a change to the configuration you have to recompile and reinstall. A bit overkill perhaps, but it has created an interesting user-community.

I have submitted two patches to dwm. One of them was a bug fix to a patch submitted by another user which added a new tiling mode to dwm – the Fibonacci spiral. When in a tiling mode in dwm, there is a “master” and a “stack.” The master can be considered the main application, which by default takes up roughly half the screen. Whenever you launch a new application it becomes the master. All other applications are contained in the stack which takes up the rest of the screen, and is resized according to certain rules whenever something is added or removed. In the case of the Fibonacci spiral, the last window in the stack gets resized in half and the new application is stuck in the remaining place. This forms a spiral when you have multiple applications open.

*Go the official page for the Fibonacci patch
*Download the Fibonacci patch for dwm5.2
*Download the Fibonacci patch for dwm5.6.1
*Download the Fibonacci patch for dwm5.8.*

The second patch I submitted allows a user to move an application around on the stack. This was made to replicate the mod-shift-j and mod-shift-k behavior of xmonad, another tiling window manager. By pressing mod-shift-k you move the application up the stack by swapping with the neighbor above it, by pressing mod-shift-j you move the application down the stack.

*Download the Movestack patch for dwm5.2
*Download the Movestack patch for dwm5.6.1