I've been using i3 for a few years and for most of that time I have loved using it. Even today I still really like using i3 but as time has gone on and I have gotten used to the benefits of using i3 I am, more and more, noticing the deficiencies that i3 has. I think this is also in part because I now have a better understanding of some other window managers and what they can do better than i3.
I recently upgraded a laptop at home and so had a chance for a fresh Arch install. Rather than just installing i3 and getting on with it I thought I'd make a change and see what DWM could offer me. DWM often gets talked up as the grand daddy of window managers and I was aware of the fairly steep learning curve, it's written in C and the way to configure is by making alteration to that source code.
I made a few superficial changes and it compiled with no problems and then just started using it to configure my new system. Once I had all my software installed and file synced over, I went back to try some more configuration to get DWM at least as convieniant as my i3 setup and hopefully a lot more streamlined. This is where the real weakness of DWM in my opinion comes to light. The code is not commented to any great extent and cetainly not enough for someone who doesn't know C to be able to change in any meaningful way. There is also as far as I can tell, no documentation to go into the specifics of the functions in the DWM.c file. I think a summary of each function would be helpful with an example or 2 of how to somone might want to change it and how one might use it would be very helpful.
I think that unless DWM is intended to be a WM only for C coders it really does need some extra documentation (or at least comments) for people that are willing to rewrite code but need a guide.
That being said, right now I am in mid-decision: to stay with DWM and start learning C to get it where I want it to be, or to give up and move to BSPWM which I can configure in bash or python right now. Rather than actually make a decision I have decided to choose a method to make the decision instead (procrastinate more and avoid decision making FTW!) So, I'm going to make a list of what I actually want my WM to be able to do then just choose whichever WM can actually do it with the least amount of hassle, sound good? Let's go!
If anyone was to read this I think they're first thought would be "why does it matter? Just pick one and start using it!" And they would probably be right.
Greg is a true Sinophile, fluent in Chinese and proficient in Tibetan he is a homeschooling Dad that also consults on the side. You'll often find him cigar in mouth, book in hand, waiting for someone to finish their work or for the coffee to brew.