From ad0fb1df8cc31abba5967752e1b125a6b2cda53c Mon Sep 17 00:00:00 2001 From: Arun Prakash Jana Date: Wed, 29 Mar 2017 15:59:56 +0530 Subject: [PATCH] Implement navigation roll over --- README.md | 5 +++-- noice.c | 6 ++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1617dcd2..fa8bcd29 100644 --- a/README.md +++ b/README.md @@ -42,8 +42,9 @@ I chose to fork noice because: ### Fork toppings -- Behaviour +- Behaviour and navigation - Case-insensitive alphabetic content listing instead of upper case first. + - Roll over at the first and last entries of a directory (with Up/Down keys). - File associations - Environment variable `NOICE_OPENER` to override all associations and open all files with your desktop environments default file opener. Examples: @@ -97,7 +98,7 @@ Start noice (default: current directory): | `.` | toggle hide dot files | | `t` | toggle sort by modified time | | `!` | spawn a shell in current dir | -| `e` | edit item in `vi` | +| `e` | edit item in `vim` | | `p` | open item with `less` pager | | `z` | run `top` | | `Ctrl-l` | redraw window | diff --git a/noice.c b/noice.c index e9e4e653..2d562ae8 100644 --- a/noice.c +++ b/noice.c @@ -746,10 +746,16 @@ nochange: case SEL_NEXT: if (cur < ndents - 1) cur++; + else if (ndents) + /* Roll over, set cursor to first entry */ + cur = 0; break; case SEL_PREV: if (cur > 0) cur--; + else if (ndents) + /* Roll over, set cursor to last entry */ + cur = ndents - 1; break; case SEL_PGDN: if (cur < ndents - 1)