XMonad with xmobar and GridSelect
Tiling window managers are awesome.
And while I have used the aptly named Awesome for all my tiling needs so
far, it is certainly due time for a change in software.
There are a number of things I don't like about awesome. In particular, its
configuration file. Okay, it surely is easy enough to work with, but
due to the fact that many features that should be internal are - in
fact - in the rc.lua file, its sloc rises to enormous levels. Also,
it's in Lua, and well... it's just bothersome to work with.
XMonad, on the other hand, does quite
well in that regard. Being written in Haskell - a purely functional
and lazy programming language - configuration is cooler, more
interesting and generally easier to maintain. Oh, it's much less code,
too.
While XMonad is very feature-rich, it does not have every function
that awesome had. Given that these features were ones I never really
used anyway, I can't say that I miss anything.
I have gone for a setup with xmobar as my
default status bar. As I still have mpdcron running, I decided against
using xmobar's MPD command and set up a simple pipe between mpdcron
and xmobar's PipeReader:
-- xmobar.hs [..]
Run PipeReader ":/home/vehk/.xmonad/pipe_mpd" "mpdpipe"
# mpdcron player hook
echo "$MPD_SONG_TAG_ARTIST - $MPD_SONG_TAG_TITLE" > ~/.xmonad/pipe_mpd
One trade-off was having to disable true transparency with compositing
in urxvt, because the window borders suddenly were transparent, too.
This issue may be fixed in the future, but for now I'm using native
urxvt transparency.
So, what else to say? Go ahead and check out XMonad or awesome (or i3
for that matter). You can also have a look at my configuration on
github.
After some more work on xmobar and other features, this is how my desktop looks now: