dswitcher 511 B

12345678910111213141516
  1. #!/bin/sh
  2. # Date format, for use as the prompt.
  3. date=$(date +"%a %d. %b %R")
  4. # dmenu cannot display more than 30 lines, to avoid screen clutter. Only relevant if you have more than 30 windows open.
  5. height=$(wmctrl -l | wc -l)
  6. if [ $height -gt 30 ]
  7. then heightfit=30
  8. else heightfit=$height
  9. fi
  10. num=$(wmctrl -l | awk '{$1=$2=$3="";gsub("^ ","",$0);print NR" - "$0}' | dmenu.sh -b -i -p "$date" -l $heightfit | cut -d '-' -f -1)
  11. [ -z "$num" ] && exit
  12. wmctrl -l | sed -n "s/ .*//;$num p" | xargs wmctrl -i -a