[xmonad] xmobar

Brandon Allbery allbery.b at gmail.com
Wed Nov 16 16:32:27 CET 2011


On Wed, Nov 16, 2011 at 10:12, Marco Guidetti <marco at 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 at gmail.com
wandering unix systems administrator (available)     (412) 475-9364 vm/sms
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/xmonad/attachments/20111116/5d668cd6/attachment.htm>


More information about the xmonad mailing list