i3-layout 702 B

1234567891011121314151617181920212223242526272829
  1. #!/bin/zsh -f
  2. if [[ $# -eq 0 ]] ; then
  3. echo "i3-layout [ name workspace | list | define workspace name ]"
  4. exit
  5. fi
  6. LAYOUT=$1
  7. WORKSPACE=$2
  8. case ${LAYOUT} in
  9. define)
  10. NAME=$3
  11. i3-save-layout --workspace ${WORKSPACE} > ~/.config/i3/${NAME}.json
  12. emacsclient --alternate-editor="" -n ${NAME}.json
  13. ;;
  14. list)
  15. for layout in ~/.config/i3/*.json ;
  16. do
  17. echo " - $(basename -- ${layout} .json)"
  18. done
  19. ;;
  20. *)
  21. if [[ -e ~/.config/i3/${LAYOUT}.json ]] ; then
  22. i3-msg "workspace ${WORKSPACE}; append_layout ~/.config/i3/${LAYOUT}.json"
  23. else
  24. echo "${LAYOUT} not available"
  25. fi
  26. esac