misc.sh.in 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  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. iso9660)
  11. if which isoinfo > /dev/null 2>&1; then
  12. isoinfo -d -i "${MC_EXT_FILENAME}" && isoinfo -l -R -J -i "${MC_EXT_FILENAME}"
  13. else
  14. 7za l "${MC_EXT_FILENAME}"
  15. fi
  16. ;;
  17. cat)
  18. /bin/cat "${MC_EXT_FILENAME}" 2>/dev/null
  19. ;;
  20. ar)
  21. file "${MC_EXT_FILENAME}" && nm -C "${MC_EXT_FILENAME}"
  22. ;;
  23. lib)
  24. gplib -t "${MC_EXT_FILENAME}" | \
  25. @PERL@ -e 'while (<>) { @a=split /[\s\t]+/, $_; printf ("%-30s | %10d | %s.%s.%02d | %s\n", $a[0], ($a[1]*1),$a[7], lc($a[4]), $a[5], $a[6]);}'
  26. ;;
  27. so)
  28. file "${MC_EXT_FILENAME}" && nm -C -D "${MC_EXT_FILENAME}"
  29. ;;
  30. elf)
  31. file "${MC_EXT_FILENAME}" && nm -C "${MC_EXT_FILENAME}"
  32. ;;
  33. dbf)
  34. dbview -b "${MC_EXT_FILENAME}"
  35. ;;
  36. sqlite)
  37. sqlite3 "${MC_EXT_FILENAME}" .dump
  38. ;;
  39. mo)
  40. msgunfmt "${MC_EXT_FILENAME}" || \
  41. cat "${MC_EXT_FILENAME}"
  42. ;;
  43. lyx)
  44. lyxcat "${MC_EXT_FILENAME}"
  45. ;;
  46. torrent)
  47. ctorrent -x "${MC_EXT_FILENAME}" 2>/dev/null
  48. ;;
  49. javaclass)
  50. jad -p "${MC_EXT_FILENAME}" 2>/dev/null || \
  51. (file -b "${MC_EXT_FILENAME}"; javap -private "${MC_EXT_FILENAME}" 2>/dev/null)
  52. ;;
  53. *)
  54. ;;
  55. esac
  56. }
  57. do_open_action() {
  58. filetype=$1
  59. case "${filetype}" in
  60. dbf)
  61. dbview "${MC_EXT_FILENAME}"
  62. ;;
  63. sqlite)
  64. sqlite3 "${MC_EXT_FILENAME}"
  65. ;;
  66. glade)
  67. if which glade-3 >/dev/null 2>&1; then
  68. (glade-3 "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  69. else
  70. (glade-2 "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  71. fi
  72. ;;
  73. po)
  74. (poedit "${MC_EXT_FILENAME}" >/dev/null 2>&1 &)
  75. ;;
  76. lyx)
  77. lyx "${MC_EXT_FILENAME}"
  78. ;;
  79. *)
  80. ;;
  81. esac
  82. }
  83. case "${action}" in
  84. view)
  85. do_view_action "${filetype}"
  86. ;;
  87. open)
  88. ("${MC_XDG_OPEN}" "${MC_EXT_FILENAME}" >/dev/null 2>&1) || \
  89. do_open_action "${filetype}"
  90. ;;
  91. *)
  92. ;;
  93. esac