From 829bcdd7d419b8e07d77edfa9b9878f0f399a99f Mon Sep 17 00:00:00 2001 From: sin Date: Thu, 25 Feb 2016 15:06:57 +0000 Subject: [PATCH] Add command to cd back to HOME Original patch written by Richard Hyde and taken from https://github.com/RichardHyde/noice --- config.def.h | 1 + noice.1 | 4 +++- noice.c | 16 ++++++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/config.def.h b/config.def.h index 64040797..af9bcbb6 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 cb5b56d4..f9ac1afc 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 b3a28525..489caabe 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));