commit 2dc7f19be0d4b961091a495f0c30757e76cf4c6b
parent b874da395c43ad63e46d0661309c9c1cecf2e0fc
Author: Jacob Moena <jacmoe.dk@gmail.com>
Date: Sun, 19 Feb 2023 17:22:32 +0100
Added patch for colemak keyboard layout. Existing renamed to colemak-dh (#1587)
* Added patch for colemak keyboard layout. Existing renamed
to colemak-dh
* Missed two spots of O_COLEMAK
* Update check-patches.sh
Diffstat:
3 files changed, 27 insertions(+), 72 deletions(-)
diff --git a/Makefile b/Makefile
@@ -32,6 +32,7 @@ O_NOSORT := 0 # disable sorting entries on dir load
# User patches
O_COLEMAK := 0 # change key bindings to colemak compatible layout
+O_COLEMAK-DH := 0 # change key bindings to colemak-dh compatible layout
O_GITSTATUS := 0 # add git status to detail view
O_NAMEFIRST := 0 # print file name first, add uid and guid to detail view
O_RESTOREPREVIEW := 0 # add preview pipe to close and restore preview pane
@@ -168,6 +169,7 @@ LOGOSVG = misc/logo/logo.svg
LOGO64X64 = misc/logo/logo-64x64.png
COLEMAK = patches/colemak
+COLEMAK-DH = patches/colemak-dh
GITSTATUS = patches/gitstatus
NAMEFIRST = patches/namefirst
RESTOREPREVIEW = patches/restorepreview
@@ -340,6 +342,9 @@ endif
ifeq ($(strip $(O_COLEMAK)),1)
patch --forward $(PATCH_OPTS) --strip=1 --input=$(COLEMAK)/mainline.diff
endif
+ifeq ($(strip $(O_COLEMAK-DH)),1)
+ patch --forward $(PATCH_OPTS) --strip=1 --input=$(COLEMAK-DH)/mainline.diff
+endif
postpatch:
ifeq ($(strip $(O_NAMEFIRST)),1)
@@ -356,6 +361,9 @@ endif
ifeq ($(strip $(O_COLEMAK)),1)
patch --reverse $(PATCH_OPTS) --strip=1 --input=$(COLEMAK)/mainline.diff
endif
+ifeq ($(strip $(O_COLEMAK-DH)),1)
+ patch --reverse $(PATCH_OPTS) --strip=1 --input=$(COLEMAK-DH)/mainline.diff
+endif
skip: ;
diff --git a/patches/colemak/mainline.diff b/patches/colemak-dh/mainline.diff
diff --git a/patches/colemak/mainline.diff b/patches/colemak/mainline.diff
@@ -1,28 +1,26 @@
-# Description: Change key bindings for comfortable use with Colemak-DH keyboard
-# layout. This diff was made in 4.5 release version of nnn.
+# Description: Change key bindings for comfortable use with Colemak keyboard
+# layout. This diff was made in 4.7 release version of nnn.
#
-# Author: github.com/anjerukare
-
+# Author: github.com/jacmoe
diff --git a/src/nnn.c b/src/nnn.c
-index b821f808..87ebfbbf 100644
+index b351e202..71193476 100644
--- a/src/nnn.c
+++ b/src/nnn.c
-@@ -5050,40 +5050,40 @@ static void show_help(const char *path)
+@@ -5050,32 +5050,32 @@ static void show_help(const char *path)
const char helpstr[] = {
"0\n"
"1NAVIGATION\n"
- "9Up k Up%-16cPgUp ^U Page up\n"
- "9Dn j Down%-14cPgDn ^D Page down\n"
-- "9Lt h Parent%-12c~ ` @ - ~, /, start, prev\n"
++ "9Up e Up%-16cPgUp ^U Page up\n"
++ "9Dn n Down%-14cPgDn ^D Page down\n"
+ "9Lt h Parent%-12c~ ` @ - ~, /, start, prev\n"
- "5Ret Rt l Open%-20c' First file/match\n"
- "9g ^A Top%-21cJ Jump to entry/offset\n"
- "9G ^E End%-20c^J Toggle auto-advance on open\n"
-+ "9Up e Up%-16cPgUp ^U Page up\n"
-+ "9Dn n Down%-14cPgDn ^D Page down\n"
-+ "9Lt m Parent%-12c~ ` @ - ~, /, start, prev\n"
+ "5Ret Rt i Open%-20c' First file/match\n"
+ "9g ^E Top%-21cJ Jump to entry/offset\n"
-+ "9G ^N End%-20c^J Toggle auto-jump on open\n"
++ "9G ^N End%-20c^J Toggle auto-advance on open\n"
"8B (,) Book(mark)%-11cb ^/ Select bookmark\n"
"a1-4 Context%-11c(Sh)Tab Cycle/new context\n"
"62Esc ^Q Quit%-20cq Quit context\n"
@@ -30,21 +28,19 @@ index b821f808..87ebfbbf 100644
"0\n"
"1FILTER & PROMPT\n"
- "c/ Filter%-17c^N Toggle type-to-nav\n"
-+ "c/ Filter%-17c^F Toggle type-to-nav\n"
++ "c/ Filter%-17c^M Toggle type-to-nav\n"
"aEsc Exit prompt%-12c^L Toggle last filter\n"
"c. Toggle hidden%-5cAlt+Esc Unfilter, quit context\n"
"0\n"
"1FILES\n"
- "9o ^O Open with%-15cn Create new/link\n"
-- "9f ^F File stats%-14cd Detail mode toggle\n"
+ "9o ^O Open with%-15cc Create new/link\n"
-+ "cf File stats%-14cd Detail mode toggle\n"
+ "9f ^F File stats%-14cd Detail mode toggle\n"
"b^R Rename/dup%-14cr Batch rename\n"
- "cz Archive%-17ce Edit file\n"
+ "cz Archive%-17cy Edit file\n"
"c* Toggle exe%-14c> Export list\n"
-- "6Space + (Un)select%-12cm-m Select range/clear\n"
-+ "6Space + (Un)select%-12cs-s Select range/clear\n"
+ "6Space + (Un)select%-12cm-m Select range/clear\n"
"ca Select all%-14cA Invert sel\n"
"9p ^P Copy here%-12cw ^W Cp/mv sel as\n"
- "9v ^V Move here%-15cE Edit sel list\n"
@@ -52,28 +48,11 @@ index b821f808..87ebfbbf 100644
"9x ^X Delete%-18cS Listed sel size\n"
"aEsc Send to FIFO\n"
"0\n"
- "1MISC\n"
- "8Alt ; Select plugin%-11c= Launch app\n"
- "9! ^] Shell%-19c] Cmd prompt\n"
-- "cc Connect remote%-10cu Unmount remote/archive\n"
-- "9t ^T Sort toggles%-12cs Manage session\n"
-+ "ch Connect remote%-10cu Unmount remote/archive\n"
-+ "9t ^T Sort toggles%-12ck Manage session\n"
- "cT Set time type%-11c0 Lock\n"
- "b^L Redraw%-18c? Help, conf\n"
- };
diff --git a/src/nnn.h b/src/nnn.h
-index 3e4ea19c..c81ef392 100644
+index 3e4ea19c..b0eb7cdb 100644
--- a/src/nnn.h
+++ b/src/nnn.h
-@@ -131,18 +131,18 @@ struct key {
- static struct key bindings[] = {
- /* Back */
- { KEY_LEFT, SEL_BACK },
-- { 'h', SEL_BACK },
-+ { 'm', SEL_BACK },
- /* Inside or select */
- { KEY_ENTER, SEL_OPEN },
+@@ -137,12 +137,12 @@ static struct key bindings[] = {
{ '\r', SEL_OPEN },
/* Pure navigate inside */
{ KEY_RIGHT, SEL_NAV_IN },
@@ -103,39 +82,16 @@ index 3e4ea19c..c81ef392 100644
/* Go to first file */
{ '\'', SEL_FIRST },
/* Jump to an entry number/offset */
-@@ -176,7 +176,7 @@ static struct key bindings[] = {
- { 'b', SEL_BMOPEN },
- { CONTROL('_'), SEL_BMOPEN },
- /* Connect to server over SSHFS */
-- { 'c', SEL_REMOTE },
-+ { 'h', SEL_REMOTE },
- /* Cycle contexts in forward direction */
- { '\t', SEL_CYCLE },
- /* Cycle contexts in reverse direction */
-@@ -199,14 +199,13 @@ static struct key bindings[] = {
+@@ -199,7 +199,7 @@ static struct key bindings[] = {
/* Filter */
{ '/', SEL_FLTR },
/* Toggle filter mode */
- { CONTROL('N'), SEL_MFLTR },
-+ { CONTROL('F'), SEL_MFLTR },
++ { CONTROL('M'), SEL_MFLTR },
/* Toggle hide .dot files */
{ '.', SEL_HIDDEN },
/* Detailed listing */
- { 'd', SEL_DETAIL },
- /* File details */
- { 'f', SEL_STATS },
-- { CONTROL('F'), SEL_STATS },
- /* Toggle executable status */
- { '*', SEL_CHMODX },
- /* Create archive */
-@@ -220,13 +219,13 @@ static struct key bindings[] = {
- { ' ', SEL_SEL },
- { '+', SEL_SEL },
- /* Toggle select multiple files */
-- { 'm', SEL_SELMUL },
-+ { 's', SEL_SELMUL },
- /* Select all files in current dir */
- { 'a', SEL_SELALL },
+@@ -226,7 +226,7 @@ static struct key bindings[] = {
/* Invert selection in current dir */
{ 'A', SEL_SELINV },
/* List, edit selection */
@@ -144,7 +100,7 @@ index 3e4ea19c..c81ef392 100644
/* Copy from selection buffer */
{ 'p', SEL_CP },
{ CONTROL('P'), SEL_CP },
-@@ -243,7 +242,7 @@ static struct key bindings[] = {
+@@ -243,7 +243,7 @@ static struct key bindings[] = {
{ 'o', SEL_OPENWITH },
{ CONTROL('O'), SEL_OPENWITH },
/* Create a new file */
@@ -153,7 +109,7 @@ index 3e4ea19c..c81ef392 100644
/* Show rename prompt */
{ CONTROL('R'), SEL_RENAME },
/* Rename contents of current dir */
-@@ -255,7 +254,7 @@ static struct key bindings[] = {
+@@ -255,7 +255,7 @@ static struct key bindings[] = {
/* Toggle auto-advance on file open */
{ CONTROL('J'), SEL_AUTONEXT },
/* Edit in EDITOR */
@@ -162,12 +118,3 @@ index 3e4ea19c..c81ef392 100644
/* Run a plugin */
{ ';', SEL_PLUGIN },
/* Show total size of listed selection */
-@@ -270,7 +269,7 @@ static struct key bindings[] = {
- /* Lock screen */
- { '0', SEL_LOCK },
- /* Manage sessions */
-- { 's', SEL_SESSIONS },
-+ { 'k', SEL_SESSIONS },
- /* Export list */
- { '>', SEL_EXPORT },
- /* Set time type */