xbar
xbar copied to clipboard
Plugin can't call itself
Hi, I have been using xbar for a while to easily connect/disconnect from a VPN. Lately, the script stopped functioning. I'm on macOS 13.6.2.
The following dummy plugin reproduces the problem; it is supposed to toggle a variable but does not work:
#!/usr/bin/env bash
STATUS=NA
case "$1" in
on)
STATUS=1
;;
off)
STATUS=0
;;
esac
if [ "$STATUS" == "1" ]; then
echo "Status: $STATUS"
echo '---'
echo "Turn off | bash='$0' param1=off terminal=false refresh=true"
exit
else
echo "Status: $STATUS"
echo '---'
echo "Turn on | bash='$0' param1=on terminal=false refresh=true"
exit
fi
The issue seems to be that the plugin fails to call itself for action (bash=$0).
Any help on how to solve this would be appreciated. :-)
Try using shell
instead of bash
, according to the docs that's the correct keyword. I don't know if it used to be bash
, argos has bash
instead of shell
, maybe it changed in xbar in a recent release.
Thanks for the input. Unfortunately, that did not solve the problem.
I tried with both bash=
and shell=
Here is the current version of the dummy script I'm using:
#!/usr/bin/env bash
STATUS=NA
case "$1" in
on)
STATUS=1
;;
off)
STATUS=0
;;
esac
if [ "$STATUS" -eq 1 ]; then
echo "Status: $STATUS"
echo '---'
echo "Turn off | shell=\"$(realpath "$0")\" param1=off terminal=false refresh=true"
exit
else
echo "Status: $STATUS"
echo '---'
echo "Turn on | shell=\"$(realpath "$0")\" param1=on terminal=false refresh=true"
exit
fi
I am completely clueless about what is going on :-/