commit 829bcdd7d419b8e07d77edfa9b9878f0f399a99f
parent e1c26079b109a8ef074362142636c970ccdc9465
Author: sin <sin@2f30.org>
Date: Thu, 25 Feb 2016 15:06:57 +0000
Add command to cd back to HOME
Original patch written by Richard Hyde and taken from
https://github.com/RichardHyde/noice
Diffstat:
3 files changed, 20 insertions(+), 1 deletion(-)
diff --git 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
@@ -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
@@ -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));