diff options
author | Michael Stapelberg <michael@stapelberg.de> | 2012-01-05 01:07:29 +0000 |
---|---|---|
committer | Michael Stapelberg <michael@stapelberg.de> | 2012-01-05 01:07:29 +0000 |
commit | cab5e6b1dee0cc2ea7021e688fd58513a5a38973 (patch) | |
tree | 7a81fda0487c25930d0fb60b34d30b15883639bd /i3lock.c | |
parent | 0a09aeec6f4e9b0514fd1917c8deb052f2f94f47 (diff) |
Change the unlock indicator properly after pressing the 'escape' key
Diffstat (limited to 'i3lock.c')
-rw-r--r-- | i3lock.c | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -253,6 +253,13 @@ static void handle_key_press(xcb_key_press_event_t *event) { input_position = 0; clear_password_memory(); password[input_position] = '\0'; + + /* Hide the unlock indicator after a bit if the password buffer is + * empty. */ + start_clear_indicator_timeout(); + unlock_state = STATE_BACKSPACE_ACTIVE; + redraw_screen(); + unlock_state = STATE_KEY_PRESSED; return; case XK_BackSpace: @@ -263,13 +270,12 @@ static void handle_key_press(xcb_key_press_event_t *event) { u8_dec(password, &input_position); password[input_position] = '\0'; - /* Clear this state after 2 seconds (unless the user enters another - * password during that time). */ + /* Hide the unlock indicator after a bit if the password buffer is + * empty. */ start_clear_indicator_timeout(); unlock_state = STATE_BACKSPACE_ACTIVE; redraw_screen(); unlock_state = STATE_KEY_PRESSED; - //printf("new input position = %d, new password = %s\n", input_position, password); return; } |