From f2298bdbf788678a9e08fd17a3e37600767f5a9b Mon Sep 17 00:00:00 2001 From: prezmop <60825986+prezmop@users.noreply.github.com> Date: Sat, 9 Dec 2023 09:30:42 +0100 Subject: [PATCH] Clear password on ctrl+backpace and ctrl+delete --- password.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/password.c b/password.c index 8dabb52..cae568e 100644 --- a/password.c +++ b/password.c @@ -141,13 +141,19 @@ void swaylock_handle_key(struct swaylock_state *state, break; case XKB_KEY_Delete: case XKB_KEY_BackSpace: - if (backspace(&state->password)) { - state->input_state = INPUT_STATE_BACKSPACE; - schedule_password_clear(state); - update_highlight(state); - } else { + if (state->xkb.control) { + clear_password_buffer(&state->password); state->input_state = INPUT_STATE_CLEAR; cancel_password_clear(state); + } else { + if (backspace(&state->password)) { + state->input_state = INPUT_STATE_BACKSPACE; + schedule_password_clear(state); + update_highlight(state); + } else { + state->input_state = INPUT_STATE_CLEAR; + cancel_password_clear(state); + } } schedule_input_idle(state); damage_state(state);