dotfiles/polybar/usr/bin/autohide-polybar.sh
Tom Willemse 4b637506d9 Automatically hide polybar if necessary
xfreerdp doesn’t seem to play nice with Polybar, so hide Polybar whenever
xfreerdp is focused.
2020-04-26 16:17:45 -07:00

21 lines
732 B
Bash
Executable file

#!/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 &