dotfiles/polybar/usr/bin/autohide-polybar.sh

22 lines
732 B
Bash
Raw Normal View History

#!/usr/bin/env bash
# Has to start with my_ or herbstluftwm will throw up.
attr_name=my_polybar_showing
herbstclient get_attr "$attr_name" 1> /dev/null 2>&1 \
|| herbstclient new_attr bool "$attr_name"
herbstclient set_attr "$attr_name" true
herbstclient -i focus_changed | while read -r _ winid _; do
window_class=$(herbstclient attr "clients.${winid}.class")
showing_polybar=$(herbstclient attr "$attr_name")
if [[ $window_class =~ xfreerdp ]]; then
polybar-msg cmd hide > /dev/null \
&& herbstclient set_attr "$attr_name" false
elif [[ $showing_polybar == "false" ]]; then
polybar-msg cmd show > /dev/null \
&& herbstclient set_attr "$attr_name" true
fi
done &