image.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/bin/sh
  2. # $1 - action
  3. # $2 - type of file
  4. action=$1
  5. filetype=$2
  6. [ -n "${MC_XDG_OPEN}" ] || MC_XDG_OPEN="xdg-open"
  7. do_view_action() {
  8. filetype=$1
  9. case "${filetype}" in
  10. jpeg)
  11. identify "${MC_EXT_FILENAME}"
  12. which exif >/dev/null 2>&1 && exif "${MC_EXT_FILENAME}" 2>/dev/null
  13. ;;
  14. xpm)
  15. sxpm "${MC_EXT_FILENAME}"
  16. ;;
  17. *)
  18. identify "${MC_EXT_FILENAME}"
  19. ;;
  20. esac
  21. }
  22. do_open_action() {
  23. filetype=$1
  24. case "${filetype}" in
  25. xbm)
  26. (bitmap "${MC_EXT_FILENAME}" &)
  27. ;;
  28. xcf)
  29. (gimp "${MC_EXT_FILENAME}" &)
  30. ;;
  31. svg)
  32. (inkscape "${MC_EXT_FILENAME}" &)
  33. ;;
  34. *)
  35. if [ -n "$DISPLAY" ]; then
  36. (gqview "${MC_EXT_FILENAME}" &)
  37. elif see >/dev/null 2>&1; then
  38. (see "${MC_EXT_FILENAME}" &)
  39. else
  40. (zgv "${MC_EXT_FILENAME}" &)
  41. fi
  42. ;;
  43. esac
  44. }
  45. case "${action}" in
  46. view)
  47. do_view_action "${filetype}"
  48. ;;
  49. open)
  50. ("${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" >/dev/null 2>&1) || \
  51. do_open_action "${filetype}"
  52. ;;
  53. *)
  54. ;;
  55. esac