Commit 2a97bab5af5aba7ba6889e14c0fd47fe8110d85a
Change emacs keybinds for jumping to first/last entry
Signed-off-by: sin <sin@2f30.org>sin committed on 4/9/2018, 12:42:51 PM
Parent: 155496adf93b918311950e3c70aa1d5d54565f5e
Files changed
config.def.h | changed |
noice.1 | changed |
noice.c | changed |
config.def.h | ||
---|---|---|
@@ -48,13 +48,13 @@ | ||
48 | 48 … | { KEY_PPAGE, SEL_PGUP }, |
49 | 49 … | { CONTROL('U'), SEL_PGUP }, |
50 | 50 … | /* Home */ |
51 | 51 … | { KEY_HOME, SEL_HOME }, |
52 | - { CONTROL('A'), SEL_HOME }, | |
52 … | + { META('<'), SEL_HOME }, | |
53 | 53 … | { '^', SEL_HOME }, |
54 | 54 … | /* End */ |
55 | 55 … | { KEY_END, SEL_END }, |
56 | - { CONTROL('E'), SEL_END }, | |
56 … | + { META('>'), SEL_END }, | |
57 | 57 … | { '$', SEL_END }, |
58 | 58 … | /* Change dir */ |
59 | 59 … | { 'c', SEL_CD }, |
60 | 60 … | { '~', SEL_CDHOME }, |
noice.1 | ||
---|---|---|
@@ -1,5 +1,5 @@ | ||
1 | -.Dd March 5, 2018 | |
1 … | +.Dd April 9, 2018 | |
2 | 2 … | .Dt NOICE 1 |
3 | 3 … | .Os |
4 | 4 … | .Sh NAME |
5 | 5 … | .Nm noice |
@@ -38,11 +38,11 @@ | ||
38 | 38 … | .It Ic [Pgup] or C-u |
39 | 39 … | Scroll up half a page. |
40 | 40 … | .It Ic [Pgdown] or C-d |
41 | 41 … | Scroll down half a page. |
42 | -.It Ic [Home], ^ or C-a | |
42 … | +.It Ic [Home], ^ or M-< | |
43 | 43 … | Move to the first entry. |
44 | -.It Ic [End], $ or C-e | |
44 … | +.It Ic [End], $ or M-> | |
45 | 45 … | Move to the last entry. |
46 | 46 … | .It Ic l, [Right], [Return] or C-m |
47 | 47 … | Open file or enter directory. |
48 | 48 … | .It Ic h, C-h, [Left] or [Backspace] |
noice.c | ||
---|---|---|
@@ -37,8 +37,9 @@ | ||
37 | 37 … | |
38 | 38 … | |
39 | 39 … | |
40 | 40 … | |
41 … | + | |
41 | 42 … | |
42 | 43 … | struct assoc { |
43 | 44 … | char *regex; /* Regex to match on filename */ |
44 | 45 … | char *bin; /* Program */ |
@@ -334,21 +335,31 @@ | ||
334 | 335 … | clearprompt(); |
335 | 336 … | printw(str); |
336 | 337 … | } |
337 | 338 … | |
338 | -/* Returns SEL_* if key is bound and 0 otherwise. | |
339 | - * Also modifies the run and env pointers (used on SEL_{RUN,RUNARG}) */ | |
340 | -int | |
341 | -nextsel(char **run, char **env) | |
339 … | +int xgetch(void) | |
342 | 340 … | { |
343 | - int c, i; | |
341 … | + int c; | |
344 | 342 … | |
345 | 343 … | c = getch(); |
346 | 344 … | if (c == -1) |
347 | 345 … | idle++; |
348 | 346 … | else |
349 | 347 … | idle = 0; |
348 … | + return c; | |
349 … | +} | |
350 | 350 … | |
351 … | +/* Returns SEL_* if key is bound and 0 otherwise. | |
352 … | + * Also modifies the run and env pointers (used on SEL_{RUN,RUNARG}) */ | |
353 … | +int | |
354 … | +nextsel(char **run, char **env) | |
355 … | +{ | |
356 … | + int c, i; | |
357 … | + | |
358 … | + c = xgetch(); | |
359 … | + if (c == 033) | |
360 … | + c = META(xgetch()); | |
361 … | + | |
351 | 362 … | for (i = 0; i < LEN(bindings); i++) |
352 | 363 … | if (c == bindings[i].sym) { |
353 | 364 … | *run = bindings[i].run; |
354 | 365 … | *env = bindings[i].env; |
Built with git-ssb-web