Browse Source

Fix the timeouts for hiding the unlock indicator (Thanks Merovius)

master
Michael Stapelberg 13 years ago
parent
commit
7fdda76a51
  1. 14
      i3lock.c

14
i3lock.c

@ -279,6 +279,7 @@ static void redraw_screen() {
* *
*/ */
static void clear_pam_wrong(EV_P_ ev_timer *w, int revents) { static void clear_pam_wrong(EV_P_ ev_timer *w, int revents) {
DEBUG("clearing pam wrong\n");
pam_state = STATE_PAM_IDLE; pam_state = STATE_PAM_IDLE;
unlock_state = STATE_STARTED; unlock_state = STATE_STARTED;
redraw_screen(); redraw_screen();
@ -290,8 +291,10 @@ static void clear_pam_wrong(EV_P_ ev_timer *w, int revents) {
* *
*/ */
static void clear_indicator(EV_P_ ev_timer *w, int revents) { static void clear_indicator(EV_P_ ev_timer *w, int revents) {
DEBUG("Clear indicator\n"); if (input_position == 0) {
unlock_state = STATE_STARTED; DEBUG("Clear indicator\n");
unlock_state = STATE_STARTED;
} else unlock_state = STATE_KEY_PRESSED;
redraw_screen(); redraw_screen();
} }
@ -341,6 +344,13 @@ static void input_done() {
ev_timer_init(clear_pam_wrong_timeout, clear_pam_wrong, 2.0, 0.); ev_timer_init(clear_pam_wrong_timeout, clear_pam_wrong, 2.0, 0.);
ev_timer_start(main_loop, clear_pam_wrong_timeout); ev_timer_start(main_loop, clear_pam_wrong_timeout);
/* Cancel the clear_indicator_timeout, it would hide the unlock indicator
* too early. */
if (clear_indicator_timeout) {
ev_timer_stop(main_loop, clear_indicator_timeout);
clear_indicator_timeout = NULL;
}
/* beep on authentication failure, if enabled */ /* beep on authentication failure, if enabled */
if (beep) { if (beep) {
xcb_bell(conn, 100); xcb_bell(conn, 100);

Loading…
Cancel
Save