I am in support of keeping tags the way they are. As others have mentioned I also have grown accustomed to using tags and find their functionality very useful.
For me what sets DWM apart from other window managers is that it is truly dynamic. There are only very few items in DWM that I define statically. All the window "management" I personally have to do in DWM is to tag a client with the appropriate tag. For most applications I regularly use they are automatically tagged as specified in the config. DWM does the rest for me -- I don't have to worry about moving clients left and right, or up and down a stack. In fact, I like the fact that DWM limits the way I can arrange clients! I discover that I really don't need to do the arranging myself. After all I can only physically work with one client at a given time, and it makes sense to me that this client is in the master area, where it takes a larger portion of my screen space compared to the rest of the clients. However, I would understand that when working with a very large number of clients at once (like David Tweed does) there arises a need to arrange the stacked clients in a way that makes looking at them easier and more organized. I think this is the important question that needs to be answered: What does DWM mean? To me DWM means a window manager that does its job and actually manages my windows for me. I have to do as little managing as possible. This also means that DWM is completely predictable. Since there is no hierarchy other than master/stacked, I know what will happen when I spawn a new client or add another tag to my current view. DWM also gives me simplicity: It makes it simple to view and unview a group of applications via a single keyboard shortcut. In the "workspace" way of doing things I would have to get away from what I'm working on, switch to another workspace, and find the client and move it into the workspace I want. This seems less efficient to me. I also prefer that DWM doesn't have window decorations. This saves space, and removes redundant information from the screen. Why have window decorations that tell you the title of the client when you can just look at the client and see its contents? I feel like I'm repeating myself here, but I'm often wondering why other people are using DWM if it's not for the tags? If I didn't care about the tags and wanted a "workspace" based WM with layout preservation I feel like there are a lot of alternatives that do this already (xmonad, ion, etc.). And I don't think a simple layout for DWM will accomplish what Anselm is suggesting. Moving clients around in the column goes hand in hand with state preservation: One feature would be useless without the other. The solution here could be one of the two: 1) A super window manager that is DWM+WMII. That is to say a window manager with a column mode that offers state preservation and workspaces, and a master/stacked mode that offers tags. The two modes would have to be exclusive of one another. I don't see how one would expect to arrange a workspace and then bring into view another set of tags. How would this work in a predictable manner? So this would really be essentially two different window managers in one executable. I guess this would also duplicate the amount of information that needs to be stored about each client (tag information, and placement/workspace information). Chances are, if someone likes tags then that person would probably never use the workspace-based half of the window manager, and vice versa. Overall this would be an interesting idea, but not minimal in any sense. 2) More realistically then, a fork, or perhaps a WMIII would be more appropriate as this idea is really something that is fundamentally different from DWM. --voltaic