mirror of https://github.com/i3/i3lock.git
Fix the timeouts for hiding the unlock indicator (Thanks Merovius)
parent
1b757b2aa9
commit
7fdda76a51
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…
Reference in New Issue