You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

39 lines
845B

  1. #!/bin/bash
  2. last=`cat /tmp/lastdesk`
  3. namelast=$last
  4. namecurrent=`bspc query -d focused -D --names`
  5. wincurrent=`bspc query -d focused -N`
  6. if [[ "$last" -gt "1" ]]; then
  7. del_desks=0
  8. for desk in `seq 1 $last`; do
  9. if [[ -z `bspc query -N -d "$desk"` ]]; then
  10. let "del_desks += 1"
  11. bspc desktop "$desk" -r
  12. else
  13. let "newname = desk - del_desks"
  14. bspc desktop "$desk" -n "$newname"
  15. fi
  16. done
  17. let "last = last - del_desks"
  18. echo "$last"
  19. # Always keep desktop 1 existing, even if empty
  20. if [[ "$last" -eq "0" ]]; then
  21. bspc monitor -a 1
  22. bspc desktop -f 1
  23. last=1
  24. # Allow for an additional empty desktop
  25. elif [[ "$namecurrent" -eq "$namelast" && -z "$wincurrent" ]]; then
  26. let "last=$last + 1"
  27. bspc monitor -a "$last"
  28. bspc desktop -f "$last"
  29. fi
  30. fi
  31. echo "$last" > /tmp/lastdesk