There has been quite a bit of attention given to the Suckless tools in the past few months, and particularly the dwm window manager. Reviews have certainly been mixed and for good reason. dwm certainly isn’t for everyone. It is geared towards advanced users who are comfortable with tiling window managers, patching and compiling programs, and configuring applications through editing source files.
If you have never used a tiling window manager before, dwm probably isn’t the best place to start, but if you are an experienced user who values simplicity, minimalism, and a streamlined workflow, I would encourage you to give dwm a spin.
Here are the top 5 reasons I use dwm as my window manager:
- dwm is very resource friendly. The entire source consists of less than 2,000 lines of C code. This provides a very lightweight minimalist solution for your window manager. It requires very little ram and runs extremely well on low end hardware.
- dwm is extremely customizable. It comes with only a bare-bones feature set by default, so it isn’t weighed down by features you don’t need and will never use. Additional features are applied through patches, so when you decide you want a new feature, simply browse the available patches on the suckless website and apply them to your local copy of dwm.
- dwm provides a very natural efficient workflow. It provides several of the most common tiling layouts by default, but you can apply patches to add additional layouts as well. It’s very easy to create shortcuts to launch your favourite applications and control which workspaces they appear in. Anyone who is comfortable using a tiling window manager such as Xmonad, i3, or Qtile will feel right at home in dwm.
- dwm makes C programmers feel right at home. All configuration is done through the config.h C header file, so configuring dwm basically consists of changing the values of variables. dwm itself is contained within a single C source file and has very readable and concise code. This makes it easy to make modifications to the source to add functionality that you need. You do not, however, need to be a C programmer to configure dwm. The config.h file is quite clear and easy to understand even for a non-programmer.
- dwm has a very mature code base and thus is a very stable piece of software. After using dwm for several months I can honestly say I have never experienced a single issue with it. It does what its supposed to do, does it well, and stays out of my way.
When you hear people discussing tiling window managers, dwm is often only a footnote. Although something like i3wm is a better choice for new users, dwm provides the perfect combination of power, efficiency and flexibility for the power user. If you haven’t taken a serious look at dwm before, I believe it would definitely be worth your time. You may end up being just as impressed as I am!