浏览代码

Archive handling on OS X using unar+lsar

master
Arun Prakash Jana 7 年前
父节点
当前提交
7c54f073fc
找不到此签名对应的密钥 GPG 密钥 ID: A75979F35C080412
共有 1 个文件被更改,包括 29 次插入2 次删除
  1. +29
    -2
      nnn.c

+ 29
- 2
nnn.c 查看文件

@@ -252,7 +252,12 @@ static char * const utils[] = {
"/usr/bin/xdg-open",
#endif
"nlay",
#ifdef __APPLE__
"unar",
"lsar"
#else
"atool"
#endif
};

/* Common message strings */
@@ -1629,6 +1634,21 @@ show_mediainfo(char *fpath, char *arg)
static int
handle_archive(char *fpath, char *arg, char *dir)
{
#ifdef __APPLE__
if (arg[1] == 'x') {
if (!get_output(g_buf, MAX_CMD_LEN, "which", utils[4], NULL, 0))
return -1;

spawn(utils[4], fpath, NULL, dir, F_NORMAL);
} else {
if (!get_output(g_buf, MAX_CMD_LEN, "which", utils[5], NULL, 0))
return -1;

exitcurses();
get_output(NULL, 0, utils[5], fpath, NULL, 1);
initcurses();
}
#else
if (!get_output(g_buf, MAX_CMD_LEN, "which", utils[4], NULL, 0))
return -1;

@@ -1639,6 +1659,7 @@ handle_archive(char *fpath, char *arg, char *dir)
get_output(NULL, 0, utils[4], arg, fpath, 1);
initcurses();
}
#endif

return 0;
}
@@ -2585,8 +2606,14 @@ nochange:
if (r == -1) {
if (sel == SEL_MEDIA || sel == SEL_FMEDIA)
sprintf(g_buf, "%s missing", utils[cfg.metaviewer]);
else
sprintf(g_buf, "%s missing", utils[4]);
else {
#ifdef __APPLE__
if (sel == SEL_LIST)
sprintf(g_buf, "%s missing", utils[5]);
else
#endif
sprintf(g_buf, "%s missing", utils[4]);
}

printmsg(g_buf);
goto nochange;


正在加载...
取消
保存