commit dcde07637141064a39c79db93d47f6fe588a782d
parent 4db0d0dae08090f1bdf7b9a629777ba09e222667
Author: lostd <lostd@2f30.org>
Date: Sun, 12 Jul 2015 13:32:31 +0100
Add keys to move to the first and last entry
Diffstat:
3 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/config.def.h b/config.def.h
@@ -45,6 +45,14 @@ struct key bindings[] = {
/* Page up */
{ KEY_PPAGE, SEL_PGUP },
{ CONTROL('U'), SEL_PGUP },
+ /* Home */
+ { KEY_HOME, SEL_HOME },
+ { CONTROL('A'), SEL_HOME },
+ { '^', SEL_HOME },
+ /* End */
+ { KEY_END, SEL_END },
+ { CONTROL('E'), SEL_END },
+ { '$', SEL_END },
/* Change dir */
{ 'c', SEL_CD },
/* Toggle sort by time */
diff --git a/noice.1 b/noice.1
@@ -37,6 +37,10 @@ Move to next entry.
Scroll up half a page.
.It Ic [Pgdown] or C-d
Scroll down half a page.
+.It Ic [Home] or C-a or ^
+Move to the first entry.
+.It Ic [End] or C-e or $
+Move to the last entry.
.It Ic l, [Right], [Return] or C-m
Open file or enter directory.
.It Ic h, [Left] or [Backspace]
diff --git a/noice.c b/noice.c
@@ -54,6 +54,8 @@ enum action {
SEL_PREV,
SEL_PGDN,
SEL_PGUP,
+ SEL_HOME,
+ SEL_END,
SEL_CD,
SEL_MTIME,
SEL_REDRAW,
@@ -827,6 +829,12 @@ moretyping:
if (cur > 0)
cur -= MIN((LINES - 4) / 2, cur);
break;
+ case SEL_HOME:
+ cur = 0;
+ break;
+ case SEL_END:
+ cur = n - 1;
+ break;
case SEL_CD:
/* Read target dir */
printprompt("chdir: ");