bspwm/show_windows.sh

25 lines
689 B
Bash
Executable File

#!/bin/sh
_ignore_desktop="$1"
_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)"
if [ "$_ignore_desktop" != "$_desktop_name" ] ; then
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 ""
fi
done