aboutsummaryrefslogtreecommitdiff
path: root/src/app.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/app.c')
-rw-r--r--src/app.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/app.c b/src/app.c
index b9840de..9e44e72 100644
--- a/src/app.c
+++ b/src/app.c
@@ -1691,7 +1691,12 @@ static void key_callback(GLFWwindow *window,
if ((mods & GLFW_MOD_CONTROL) &&
!(mods & (GLFW_MOD_ALT | GLFW_MOD_SHIFT | GLFW_MOD_SUPER)) &&
is_layout_char_key(key, scancode, 'g')) {
- if (app->mode == APP_MODE_MX) {
+ if (app->mode == APP_MODE_EDIT && key_sequence_has_prefix(app, "C-g")) {
+ if (key_produces_text(key, scancode)) {
+ app->suppress_next_char = 1;
+ }
+ app_enter_prefix(app, "C-g");
+ } else if (app->mode == APP_MODE_MX) {
app_cancel_mx(app);
} else if (app->mode == APP_MODE_PROMPT) {
app_cancel_prompt(app);