image.sh 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. which exif >/dev/null 2>&1 && \
  12. {
  13. identify "${MC_EXT_FILENAME}"; exif "${MC_EXT_FILENAME}" 2>/dev/null
  14. }
  15. ;;
  16. xpm)
  17. sxpm "${MC_EXT_FILENAME}"
  18. ;;
  19. *)
  20. identify "${MC_EXT_FILENAME}"
  21. ;;
  22. esac
  23. }
  24. do_open_action() {
  25. filetype=$1
  26. case "${filetype}" in
  27. xbm)
  28. (bitmap "${MC_EXT_FILENAME}" &)
  29. ;;
  30. xcf)
  31. (gimp "${MC_EXT_FILENAME}" &)
  32. ;;
  33. svg)
  34. (inkscape "${MC_EXT_FILENAME}" &)
  35. ;;
  36. *)
  37. if [ -n "$DISPLAY" ]; then
  38. (gqview "${MC_EXT_FILENAME}" &)
  39. elif see >/dev/null 2>&1; then
  40. (see "${MC_EXT_FILENAME}" &)
  41. else
  42. (zgv "${MC_EXT_FILENAME}" &)
  43. fi
  44. ;;
  45. esac
  46. }
  47. case "${action}" in
  48. view)
  49. do_view_action "${filetype}"
  50. ;;
  51. open)
  52. "${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" 2>/dev/null || \
  53. do_open_action "${filetype}"
  54. ;;
  55. *)
  56. ;;
  57. esac