#!/bin/sh set -e set -u set -o pipefail readonly executable_name=qbar readonly sway_bar_id=bar-0 readonly default_bar_command="$(swaymsg -t get_bar_config "$sway_bar_id" | jq .status_command)" stack build readonly temp_dir=$(mktemp -d) readonly stderr=$temp_dir/stderr mkfifo $stderr trap "swaymsg bar $sway_bar_id status_command '$default_bar_command'; rm -rf $temp_dir" EXIT INT HUP TERM swaymsg bar $sway_bar_id status_command "exec $(stack path --local-install-root)/bin/$executable_name $@ -- server swaybar 2> $stderr" # show output and run forever (use Ctrl-C to stop) cat $stderr