From 247d5e768bcbb7fa1f18c973d45519652e964b4a Mon Sep 17 00:00:00 2001 From: speedie Date: Mon, 3 Jul 2023 22:19:19 +0200 Subject: [PATCH] Fix an oversight in the set_mode() function --- libs/arg.c | 4 ++++ spmenu.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/libs/arg.c b/libs/arg.c index 9df9da9..f2e144a 100644 --- a/libs/arg.c +++ b/libs/arg.c @@ -498,6 +498,10 @@ void setprofile(Arg *arg) { } void switchmode(Arg *arg) { + if (sp.forceinsertmode) { + return; + } + sp.mode = !sp.mode; if (!type) sp.mode = 0; // only normal mode allowed diff --git a/spmenu.c b/spmenu.c index f849703..6a1ede7 100644 --- a/spmenu.c +++ b/spmenu.c @@ -498,7 +498,7 @@ void get_mh(void) { void set_mode(void) { if (!type) { // no typing allowed, require normal mode - mode = 0; + sp.mode = 0; } // set default mode, must be done before the event loop or keybindings will not work @@ -516,7 +516,7 @@ void set_mode(void) { if (sp.forceinsertmode) { sp.mode = 1; - sp.allowkeys = !sp.mode; + sp.allowkeys = 1; hidemode = 1; } }