SuspendSession::SuspendSession(QObject* parent) : Action(parent), m_fadeEffect(new PowerDevil::KWinKScreenHelperEffect()) { // DBus new SuspendSessionAdaptor(this); setRequiredPolicies(PowerDevil::PolicyAgent::InterruptSession); connect(backend(), &PowerDevil::BackendInterface::resumeFromSuspend, this, [this]() { KIdleTime::instance()->simulateUserActivity(); PowerDevil::PolicyAgent::instance()->setupSystemdInhibition(); m_fadeEffect->stop(); Q_EMIT resumingFromSuspend(); }); connect(m_fadeEffect.data(), &PowerDevil::KWinKScreenHelperEffect::fadedOut, this, [this]() { if (!m_savedArgs.isEmpty()) { QVariantMap args = m_savedArgs; args["SkipFade"] = true; triggerImpl(args); } }); }
DimDisplay::DimDisplay(QObject* parent) : Action(parent) { setRequiredPolicies(PowerDevil::PolicyAgent::ChangeScreenSettings); }