A good alternative to strictly terminal-based workflows are tiled window managers. The big gain is that you don't have to give up all those gui apps as they blend in next to the terminal apps quite well.
Tiled windows managers have issues though. Last time I tried i3wm for example, there was no default support for sleep, energy saving and hardware keyboard shortcuts and you had to take care of all of that instead of the usual GNOME/KDE to do it for you. The best option is to install tiled windows managers plugins within GNOME or KDE on Linux.
Dwm isn't for everybody, you modify the c source and compile to get the changes you want. The best part is that the source is small enough to understand for when you want to do something to it.