summaryrefslogtreecommitdiffstats
path: root/src/loginform.cpp
diff options
context:
space:
mode:
authorJonathan Bauer2019-06-03 13:41:16 +0200
committerJonathan Bauer2019-06-03 13:41:16 +0200
commit4ef0764c566390870a8de1a9f1955f0b7a1f7b07 (patch)
tree024eca9394ce8573e6a12a865774f75210ac8672 /src/loginform.cpp
parentfix indentation (diff)
downloadslxgreeter-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.cpp11
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()) {