From 6c34f6aa4057af48d1f68f8721172dd33cb0a7ea Mon Sep 17 00:00:00 2001 From: Philippe Virouleau Date: Sun, 10 Nov 2013 23:12:46 +0100 Subject: Turn on the screen on successful authentication As described in ticket #1114, the screen may be left turned off on successful authentication. This commit fixes this behaviour by turning the screen back on after the authentication. Fixes #1114 --- i3lock.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'i3lock.c') diff --git a/i3lock.c b/i3lock.c index 533a28d..8c33ea4 100644 --- a/i3lock.c +++ b/i3lock.c @@ -212,6 +212,10 @@ static void input_done(void) { if (pam_authenticate(pam_handle, 0) == PAM_SUCCESS) { DEBUG("successfully authenticated\n"); clear_password_memory(); + /* Turn the screen on, as it may have been turned off + * on release of the 'enter' key. */ + if (dpms) + dpms_set_mode(conn, XCB_DPMS_DPMS_MODE_ON); exit(0); } @@ -497,7 +501,7 @@ static void xcb_check_cb(EV_P_ ev_check *w, int revents) { /* If this was the backspace or escape key we are back at an * empty input, so turn off the screen if DPMS is enabled */ if (dpms && input_position == 0) - dpms_turn_off_screen(conn); + dpms_set_mode(conn, XCB_DPMS_DPMS_MODE_OFF); break; @@ -771,7 +775,7 @@ int main(int argc, char *argv[]) { (void)load_keymap(); if (dpms) - dpms_turn_off_screen(conn); + dpms_set_mode(conn, XCB_DPMS_DPMS_MODE_OFF); /* Initialize the libev event loop. */ main_loop = EV_DEFAULT; -- cgit v1.1