bspwm/monitor_windows.sh

23 lines
688 B
Bash
Executable File

#!/bin/sh
bspc subscribe node_focus desktop_focus | while read -a msg ; do
clear
_focused_node_id="$(bspc query -N -n .focused)"
bspc query -D -d .occupied | while read _desktop_id ; do
_desktop_name="$(bspc query -D -d $_desktop_id --names):"
bspc query -N -d "$_desktop_id" -n .window | while read _node_id ; do
_node_id="$(bspc query -N -n $_node_id)"
_title="$(xtitle $_node_id)"
_wm_class="$(xprop -id $_node_id | grep WM_CLASS | cut -d\" -f2)"
printf "%-6s %-15s " "$_desktop_name" "$_wm_class"
if [ "$_focused_node_id" = "$_node_id" ] ; then
printf "\033[0;31m"
fi
printf "%.55s\033[0m\n" "$_title"
_desktop_name=''
done
echo ""
done
done