diff --git a/config.def.h b/config.def.h index 6c47663a..7ab38562 100644 --- a/config.def.h +++ b/config.def.h @@ -12,9 +12,9 @@ static char *idlecmd = "rain"; /* The screensaver program */ struct assoc assocs[] = { { "\\.(c|cpp|h|txt|log|sh)$", "vi" }, - //{ "\\.(avi|mp4|mkv|3gp|mov)$", "mpv" }, + { "\\.(avi|mp4|mkv|3gp|mov)$", "mpv" }, { "\\.(wma|mp3|ogg|flac|m4a)$", "mpv" }, - //{ "\\.(png|jpg|gif)$", "feh" }, + { "\\.(png|jpg|gif)$", "viewnior" }, //{ "\\.(html|svg)$", "firefox" }, { "\\.pdf$", "zathura" }, //{ "\\.sh$", "sh" }, diff --git a/nnn.c b/nnn.c index 9cfbc982..aa332dc1 100644 --- a/nnn.c +++ b/nnn.c @@ -1247,7 +1247,17 @@ nochange: clearprompt(); goto nochange; } - mkpath(path, tmp, newpath, sizeof(newpath)); + + if (tmp[0] == '~') { + char *home = getenv("HOME"); + if (home) + snprintf(newpath, PATH_MAX, + "%s%s", home, tmp + 1); + else + mkpath(path, tmp, newpath, sizeof(newpath)); + } else + mkpath(path, tmp, newpath, sizeof(newpath)); + if (canopendir(newpath) == 0) { printwarn(); goto nochange;