#!/bin/sh -e getxid() { if [ ${x} -gt 0 ] then sed ${x}!d /tmp/winlist.jnk|cut -d ' ' -f 1 else exit fi } getname() { if [ ${x} -gt 0 ] then sed ${x}!d /tmp/winlist.jnk |sed -ne "s/.*$(hostname) \(..*\)/\1/p" else exit fi } #Get our window list wmctrl -l > /tmp/winlist.jnk #How many windows are we managing? x=$(wc -l /tmp/winlist.jnk|cut -d ' ' -f1) #Print the list of windows in a xprompt-compatible manner while [ $x -gt 0 ] do printf "%s\t%d\n" "$(getname)" "${x}" x=$((x-1)) done