summaryrefslogtreecommitdiff
path: root/i3lock.c
diff options
context:
space:
mode:
authorMichael Stapelberg <michael@stapelberg.de>2012-01-05 01:07:29 +0000
committerMichael Stapelberg <michael@stapelberg.de>2012-01-05 01:07:29 +0000
commitcab5e6b1dee0cc2ea7021e688fd58513a5a38973 (patch)
tree7a81fda0487c25930d0fb60b34d30b15883639bd /i3lock.c
parent0a09aeec6f4e9b0514fd1917c8deb052f2f94f47 (diff)
Change the unlock indicator properly after pressing the 'escape' key
Diffstat (limited to 'i3lock.c')
-rw-r--r--i3lock.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/i3lock.c b/i3lock.c
index d265009..4c9a807 100644
--- a/i3lock.c
+++ b/i3lock.c
@@ -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;
}