misc.sh.in 2.1 KB

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