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