From 397d76410c15710f437ddf8f58757becea13b5bf Mon Sep 17 00:00:00 2001 From: ckath Date: Sat, 29 Aug 2020 20:41:37 +0200 Subject: [PATCH 1/2] ignore vimmode in prompts using there being 3 keys in the function bar as detection for 'prompt' --- ScreenManager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ScreenManager.c b/ScreenManager.c index 8e5f697f6..d32c24500 100644 --- a/ScreenManager.c +++ b/ScreenManager.c @@ -190,7 +190,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) { set_escdelay(25); ch = getch(); - if (this->settings->vimMode) { + if (this->settings->vimMode && panelFocus->currentBar->size != 3) { switch (ch) { case 'h': ch = KEY_LEFT; break; case 'j': ch = KEY_DOWN; break; From 2dd56b804ea2ffca850bf88d71063a4a22a88056 Mon Sep 17 00:00:00 2001 From: ckath Date: Mon, 31 Aug 2020 15:59:13 +0200 Subject: [PATCH 2/2] add comment to clarify prompt detection --- ScreenManager.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ScreenManager.c b/ScreenManager.c index d32c24500..54fe5a87c 100644 --- a/ScreenManager.c +++ b/ScreenManager.c @@ -190,6 +190,7 @@ void ScreenManager_run(ScreenManager* this, Panel** lastFocus, int* lastKey) { set_escdelay(25); ch = getch(); + // currentBar->size == 3 is a workaround to identify prompts if (this->settings->vimMode && panelFocus->currentBar->size != 3) { switch (ch) { case 'h': ch = KEY_LEFT; break;