Add command to cd back to HOME - noice - small file browser (mirror / fork from 2f30.org)
 (HTM) git clone git://git.codemadness.org/noice
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 829bcdd7d419b8e07d77edfa9b9878f0f399a99f
 (DIR) parent e1c26079b109a8ef074362142636c970ccdc9465
 (HTM) 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:
         M config.def.h                        |       1 +
         M noice.1                             |       4 +++-
         M noice.c                             |      16 ++++++++++++++++
       
       3 files changed, 20 insertions(+), 1 deletion(-)
       ---
 (DIR) 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 */
 (DIR) 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
 (DIR) 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));