diff options
Diffstat (limited to 'src/app.c')
| -rw-r--r-- | src/app.c | 7 |
1 files changed, 6 insertions, 1 deletions
@@ -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); |
