Merge pull request #8 from fenhl/bitbar-config

Allow hiding BitBar plugin when inactive
This commit is contained in:
embr 2020-02-25 12:02:31 +00:00 committed by GitHub
commit 28b7c9d3bf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 11 deletions

View file

@ -84,14 +84,18 @@ end, "$1", 31)
Remember to add it to your `wibox` list! Search for `mytextclock` with a default configuration.
### Bitbar
### BitBar
Link `bitbar/ambient.60s.sh` into your Bitbar plugin directory.
Link `bitbar/ambient.60s.sh` into your BitBar plugin directory.
```
ln -s $(pwd)/bitbar/ambient.60s.sh ~/.bitbar
```
You can put a file named `bitbar/plugins/ambient.json` in one of [the usual locations](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html) (e.g. `~/.config`) to configure the plugin:
- If `showIfEmpty` is false, the plugin will disappear entirely from your menu bar as long as you're not in a known network. Note that BitBar displays its own menu if none of the plugins are active. (Default: `true`)
Why `fish`? Why not `bash` or `zsh`?
------------------------------------

View file

@ -10,10 +10,24 @@ DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
PATH="/usr/local/bin:$PATH" # to find Homebrew-installed fish
# look for config file in XDG config dirs
while IFS=: read -d: -r p; do
if [ -z "$config_path" ] && [ -r "$p/bitbar/plugins/ambient.json" ]; then
config_path="$p/bitbar/plugins/ambient.json"
fi
done <<<$(printf '%s:\0' "${XDG_CONFIG_HOME:-"${HOME}/.config"}:${XDG_CONFIG_DIRS:-/etc/xdg}")
if [ -z "$config_path" ]; then
config='{}'
else
config="$(cat "$config_path")"
fi
WIDGET=$(/usr/local/bin/fish $DIR/../ambient-widgets | tr '\n' ' ')
if [ -z "$WIDGET" ]; then
if echo "$config" | jq -e 'if has("showIfEmpty") then .showIfEmpty else true end' > /dev/null; then
echo "🚄"
fi
else
echo $WIDGET
echo "---"