LemonBoy / bar

A featherweight, lemon-scented, bar based on xcb
MIT License
1.61k stars 194 forks source link

[FreeBSD] Lemonbar does not receive information if the pipe was created by mkfifo. #207

Closed ghost closed 6 years ago

ghost commented 6 years ago

Hi!

I am trying to make lemonbar work but I am experiencing an unexpected issue.

While creating the fifo file manually, using touch for instance it work as expected. However if the fifo file is created using mkfifo the bar start but no information appear.

Just to be clear, the file created using mkfifo have permissions:

prw-r--r-- 1 alex wheel 0 Sep 17 01:32 /tmp/panel-fifo|

And the one created "manually":

-rw-r--r-- 1 alex wheel 0 Sep 17 01:33 /tmp/panel-fifo

FreeBSD 11.1-RELEASE lemonbar 1.2

Thanks!

LemonBoy commented 6 years ago

AFAIK touch doesn't create FIFOs, can you share your script?

ghost commented 6 years ago

Hi.

Yes, with touch I just create a normal file. I am still implementing it to use with bspwm.

I tried two ways, admiral and with bspwm examples:

https://github.com/sector-f/admiral https://github.com/baskerville/bspwm/tree/master/examples/panel

But basically this for testing with admiral:

#!/usr/bin/env sh

[ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO"
mkfifo "$PANEL_FIFO"

admiral < $PANEL_FIFO | lemonbar -f "-*-ohsnapu-medium-r-normal-*-13-*-*-*-*-*-*-*" -B \#000000 -a 32 -g x20 | sh &

Thank you!

LemonBoy commented 6 years ago

admiral < $PANEL_FIFO is blocking because nobody is writing anything in the other side of the pipe. Please have a look at the README included with admiral, what you need is a simple admiral | lemonbar | sh pipe.