diff options
author | Jonathan Bauer | 2019-06-03 13:41:16 +0200 |
---|---|---|
committer | Jonathan Bauer | 2019-06-03 13:41:16 +0200 |
commit | 4ef0764c566390870a8de1a9f1955f0b7a1f7b07 (patch) | |
tree | 024eca9394ce8573e6a12a865774f75210ac8672 /src/loginform.cpp | |
parent | fix indentation (diff) | |
download | slxgreeter-4ef0764c566390870a8de1a9f1955f0b7a1f7b07.tar.gz slxgreeter-4ef0764c566390870a8de1a9f1955f0b7a1f7b07.tar.xz slxgreeter-4ef0764c566390870a8de1a9f1955f0b7a1f7b07.zip |
reset to "chooser" page on inactivity
defaults to 30s unless configuration option "session-chooser-reset-timer" (in seconds) is set
Diffstat (limited to 'src/loginform.cpp')
-rw-r--r-- | src/loginform.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
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 <QListView> #include <QSvgRenderer> #include <QX11Info> - #include <iostream> 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<long>(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()) { |