qvm-actions.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/bin/bash
  2. # Allow us to handle filenames with spaces using newline separator from Thunar
  3. IFS='
  4. '
  5. # Check if at least two arguments are provided: actions + file(s)
  6. if [ "$#" -le 1 ]; then
  7. echo "Not enough arguments provided. Aborting..."
  8. fi
  9. # File(s)
  10. files=${*:2}
  11. # copy and move handle a list of files where other actions don't
  12. case $1 in
  13. copy)
  14. qvm-copy-to-vm '$default' $files | zenity --notification --text="Copying files..." --timeout 3
  15. ;;
  16. move)
  17. qvm-move-to-vm '$default' $files | zenity --notification --text="Moving files..." --timeout 3
  18. ;;
  19. img)
  20. for file in $files
  21. do
  22. /usr/lib/qubes/qvm-convert-img.gnome $file
  23. done
  24. ;;
  25. pdf)
  26. for file in $files
  27. do
  28. /usr/lib/qubes/qvm-convert-pdf.gnome $file
  29. done
  30. ;;
  31. openvm)
  32. for file in $files
  33. do
  34. qvm-open-in-vm '$default' $file | zenity --notification --text "Opening $file in VM..." --timeout 3 &
  35. done
  36. ;;
  37. opendvm)
  38. for file in $files
  39. do
  40. qvm-open-in-dvm $files | zenity --notification --text "Opening $file in DisposableVM..." --timeout 3 &
  41. done
  42. ;;
  43. *)
  44. echo "Unknown action. Aborting..."
  45. exit 1
  46. ;;
  47. esac