]> git.sur5r.net Git - i3/i3lock/commitdiff
Change the unlock indicator properly after pressing the 'escape' key
authorMichael Stapelberg <michael@stapelberg.de>
Thu, 5 Jan 2012 01:07:29 +0000 (01:07 +0000)
committerMichael Stapelberg <michael@stapelberg.de>
Thu, 5 Jan 2012 01:07:29 +0000 (01:07 +0000)
i3lock.c

index d265009c71ac672f4747f9b9da0229d544e2b425..4c9a8071bf12ad1b4d5c03791cdcaa3c12294618 100644 (file)
--- 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;
     }