Add command to cd back to HOME

Original patch written by Richard Hyde and taken from
https://github.com/RichardHyde/noice
This commit is contained in:
sin 2016-02-25 15:06:57 +00:00
parent e1c26079b1
commit 829bcdd7d4
3 changed files with 20 additions and 1 deletions

View file

@ -56,6 +56,7 @@ struct key bindings[] = {
{ '$', SEL_END },
/* Change dir */
{ 'c', SEL_CD },
{ '~', SEL_CDHOME },
/* Toggle hide .dot files */
{ '.', SEL_TOGGLEDOT },
/* Toggle sort by time */

View file

@ -1,4 +1,4 @@
.Dd November 26, 2015
.Dd February 25, 2016
.Dt NOICE 1
.Os
.Sh NAME
@ -49,6 +49,8 @@ Back up one directory level.
Change filter (see below for more information).
.It Ic c
Change into the given directory.
.It Ic ~
Change to the HOME directory.
.It Ic \&.
Toggle hide .dot files.
.It Ic t

16
noice.c
View file

@ -57,6 +57,7 @@ enum action {
SEL_HOME,
SEL_END,
SEL_CD,
SEL_CDHOME,
SEL_TOGGLEDOT,
SEL_MTIME,
SEL_REDRAW,
@ -707,6 +708,21 @@ nochange:
strlcpy(fltr, ifilter, sizeof(fltr))
DPRINTF_S(path);
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:
if (strcmp(fltr, ifilter) != 0)
strlcpy(fltr, ifilter, sizeof(fltr));