Original patch written by Richard Hyde and taken from https://github.com/RichardHyde/noicemaster
@@ -56,6 +56,7 @@ struct key bindings[] = { | |||||
{ '$', SEL_END }, | { '$', SEL_END }, | ||||
/* Change dir */ | /* Change dir */ | ||||
{ 'c', SEL_CD }, | { 'c', SEL_CD }, | ||||
{ '~', SEL_CDHOME }, | |||||
/* Toggle hide .dot files */ | /* Toggle hide .dot files */ | ||||
{ '.', SEL_TOGGLEDOT }, | { '.', SEL_TOGGLEDOT }, | ||||
/* Toggle sort by time */ | /* Toggle sort by time */ | ||||
@@ -1,4 +1,4 @@ | |||||
.Dd November 26, 2015 | |||||
.Dd February 25, 2016 | |||||
.Dt NOICE 1 | .Dt NOICE 1 | ||||
.Os | .Os | ||||
.Sh NAME | .Sh NAME | ||||
@@ -49,6 +49,8 @@ Back up one directory level. | |||||
Change filter (see below for more information). | Change filter (see below for more information). | ||||
.It Ic c | .It Ic c | ||||
Change into the given directory. | Change into the given directory. | ||||
.It Ic ~ | |||||
Change to the HOME directory. | |||||
.It Ic \&. | .It Ic \&. | ||||
Toggle hide .dot files. | Toggle hide .dot files. | ||||
.It Ic t | .It Ic t | ||||
@@ -57,6 +57,7 @@ enum action { | |||||
SEL_HOME, | SEL_HOME, | ||||
SEL_END, | SEL_END, | ||||
SEL_CD, | SEL_CD, | ||||
SEL_CDHOME, | |||||
SEL_TOGGLEDOT, | SEL_TOGGLEDOT, | ||||
SEL_MTIME, | SEL_MTIME, | ||||
SEL_REDRAW, | SEL_REDRAW, | ||||
@@ -707,6 +708,21 @@ nochange: | |||||
strlcpy(fltr, ifilter, sizeof(fltr)) | strlcpy(fltr, ifilter, sizeof(fltr)) | ||||
DPRINTF_S(path); | DPRINTF_S(path); | ||||
goto begin; | goto begin; | ||||
case SEL_CDHOME: | |||||
tmp = getenv("HOME"); | |||||
if (tmp == NULL) { | |||||
clearprompt(); | |||||
goto nochange; | |||||
} | |||||
if (canopendir(tmp) == 0) { | |||||
printwarn(); | |||||
goto nochange; | |||||
} | |||||
strlcpy(path, tmp, sizeof(path)); | |||||
/* Reset filter */ | |||||
strlcpy(fltr, ifilter, sizeof(fltr)); | |||||
DPRINTF_S(path); | |||||
goto begin; | |||||
case SEL_TOGGLEDOT: | case SEL_TOGGLEDOT: | ||||
if (strcmp(fltr, ifilter) != 0) | if (strcmp(fltr, ifilter) != 0) | ||||
strlcpy(fltr, ifilter, sizeof(fltr)); | strlcpy(fltr, ifilter, sizeof(fltr)); | ||||