From 4ef0764c566390870a8de1a9f1955f0b7a1f7b07 Mon Sep 17 00:00:00 2001 From: Jonathan Bauer Date: Mon, 3 Jun 2019 13:41:16 +0200 Subject: reset to "chooser" page on inactivity defaults to 30s unless configuration option "session-chooser-reset-timer" (in seconds) is set --- src/loginform.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/loginform.cpp') diff --git a/src/loginform.cpp b/src/loginform.cpp index 9016d41..f41d99e 100644 --- a/src/loginform.cpp +++ b/src/loginform.cpp @@ -28,7 +28,6 @@ #include #include #include - #include LoginForm::LoginForm(QWidget *parent) : @@ -92,6 +91,16 @@ void LoginForm::initialize() this->checkCaps(); }); + resetFormTimer.setInterval(Settings::sessionChooserResetTimer() != 0 ? + Settings::sessionChooserResetTimer() * 1000 : 30000); // default to 30s + connect(&resetFormTimer, &QTimer::timeout, this, [this]() { + long idleTime = static_cast(getIdleTime(QX11Info::display())); + std::cerr << "User idle time: " << idleTime << std::endl; + if (idleTime > Settings::sessionChooserResetTimer() * 1000l) + resetLoginChooser(); + }); + resetFormTimer.start(); + if (!Global::testMode()) { ui->hostnameLabel->setText(Global::greeter()->hostname()); if(!Settings::usernamePlaceholder().isEmpty()) { -- cgit v1.2.3-55-g7522