On Sat, Jan 14, 2012 at 19:17, Jacek Generowicz <jacek.generowicz@cern.ch> wrote:
Don't you mean PipeReader, if we started it with spawnPipe? And
presumably StdinReader would be used with the startupHook version you
suggested?

spawnPipe creates an anonymous pipe which is connected to xmobar's stdin, and corresponds to a StdinReader in xmobar.
 
In any case, I had neither StdinReader nor PipeReader in my xmobar
config. StdinReader doesn't fix it

Right, as I said, if you aren't using StdinReader then xmobar isn't reading from its stdin and therefore will not know when xmonad goes away.  You need to configure a StdinReader and use %StdinReader% in the template (if it's not in the template, the StdinReader again won't be used, and xmobar won't be reading its stdin so it won't know when the connection to xmonad goes away).

Actually, if you have DynamicLog configured but no StdinReader in xmobar, I'm a little surprised that xmonad isn't eventually hanging due to a bug in the GHC runtime (which appears to have recently been found and fixed, so hopefully will be in the next GHC release).

--
brandon s allbery                                      allbery.b@gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms