aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar sin <sin@2f30.org>2016-02-25 15:06:57 +0000
committerGravatar sin <sin@2f30.org>2016-02-25 15:14:08 +0000
commit829bcdd7d419b8e07d77edfa9b9878f0f399a99f (patch)
tree7e1333461cdb3c2938c03019b4e94a2ec1e9ec9e
parente1c26079b109a8ef074362142636c970ccdc9465 (diff)
downloadnnn-829bcdd7d419b8e07d77edfa9b9878f0f399a99f.tar.gz
Add command to cd back to HOME
Original patch written by Richard Hyde and taken from https://github.com/RichardHyde/noice
-rw-r--r--config.def.h1
-rw-r--r--noice.14
-rw-r--r--noice.c16
3 files changed, 20 insertions, 1 deletions
diff --git a/config.def.h b/config.def.h
index 6404079..af9bcbb 100644
--- a/config.def.h
+++ b/config.def.h
@@ -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 */
diff --git a/noice.1 b/noice.1
index cb5b56d..f9ac1af 100644
--- a/noice.1
+++ b/noice.1
@@ -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
diff --git a/noice.c b/noice.c
index b3a2852..489caab 100644
--- a/noice.c
+++ b/noice.c
@@ -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));