[xmonad] xmonad, dzen, pipeline issues

Matthew mattcbro at earthlink.net
Fri Jul 24 03:13:45 EDT 2009

I am trying to make dzen play nicely with xmonad and have run into a number of
unpleasant issues. 

I tried to set up dzen according to this webpage,

That more or less works,  however I want to run a second dzen process so that I can view a clock and perhaps
create a button or two for some other tasks.    Initially my xmonad startup shell script  (called via xsessions)  looked like this:

xmonad-clock | dzen2 -ta left -fg green -tw 500  -e "button1=exec:xterm" &
xmonad | dzen2 -ta center 

where xmonad-clock writes out the time periodically (every 5 seconds or so).  The button was just an attempt to play around with dzen.
Unfortunately this doesn't work,  the clock never gets displayed.  If I run that command from a bash shell, after xmodem has launched,
it works fine.

I finally ended up putting the clock command piped to dzen  (2nd line above) in .xinitrc.  This approach does display the clock but the button doesn't work.

All of these approaches have the additional annoying problem that when I try to quit xmonad via alt-shift-q,   xmonad essentally hangs, or more likely it quits leaving no windows
manager and no way to do anything but reboot.  I have to make sure that dzen and xmonad-clock have been killed prior to quitting xmonad.

I am running xmonad on a 64 bit build of arch-linux.  What is causing this behavior, and is there any way I can get dzen or multiple copies of dzen to behave the way I want?
I think I need at least two copies since the clock has to be updated periodically,  wheras the output piped to dzen from xmonad is only sent during state updates.

More information about the xmonad mailing list