noice

small file browser
git clone git://git.2f30.org/noice
Log | Files | Refs | README | LICENSE

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:
Mconfig.def.h | 1+
Mnoice.1 | 4+++-
Mnoice.c | 16++++++++++++++++
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));