image.sh 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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. if which geeqie >/dev/null 2>&1; then
  37. (geeqie "${MC_EXT_FILENAME}" &)
  38. else
  39. (gqview "${MC_EXT_FILENAME}" &)
  40. fi
  41. elif which see >/dev/null 2>&1; then
  42. (see "${MC_EXT_FILENAME}" &)
  43. else
  44. (zgv "${MC_EXT_FILENAME}" &)
  45. fi
  46. ;;
  47. esac
  48. }
  49. case "${action}" in
  50. view)
  51. do_view_action "${filetype}"
  52. ;;
  53. open)
  54. ("${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" >/dev/null 2>&1) || \
  55. do_open_action "${filetype}"
  56. ;;
  57. *)
  58. ;;
  59. esac