On Wed, Nov 16, 2011 at 10:12, Marco Guidetti <marco@marcoguidetti.org> wrote:
> Why not just spawn all your xmobar instances whith spawnPipe, and then just
> not using the pipe? This should properly restart all the instances when
> restarting xmonad. Or would the pipe be garbage collected too early?
I did try this way, but it doesn't work. I tried it again after
receiving your mail, and... it still doesn't work :)
Even if I use spawnPipe and I call it someway... something like
myUncleJoe <- spawnPipe "xmobar ~/.xmobardownrc"
it still doesn't work: once I hit mod+q the number of instances of
running xmobar increases.
It's getting EOF from the closed pipe that triggers xmobar to exit. If xmobar isn't reading from the pipe, it won't notice the EOF.
You could still do it, just use a dummy StdinReader and write a single newline down the pipe after opening it.
bottomBar <- spawnPipe "xmobar ~/.xmobardownrc"
hPutStrLn bottomBar ""
(Since it's an empty line, the StdinReader won't take up any actual space.)
--
brandon s allbery
allbery.b@gmail.com
wandering unix systems administrator (available) (412) 475-9364 vm/sms