Fix inhibit suspend on Gnome

The inhibit dbus call to gnome sessionmanager expects flags as input.
Currently the flags are set to 4, which will "Inhibit the session being
marked as idle". This is insufficient to prevent the device from
suspending while playing.
We should also add 8 = "Inhibit suspending the session or computer".
Hence, the updated flags to 12.

This change was tested on phosh/phoc and it properly prevents the
system from suspending.  The flags = 12 settings is also what gnome
music players like Lollypop are using (as checked through the gnome
sessionmanager dbus interface).
This commit is contained in:
Bart De Vries 2021-06-15 11:27:49 +02:00
parent aed1a943ab
commit 048f294b2b

View File

@ -208,10 +208,12 @@ void PowerManagementInterface::uninhibitSleepPlasmaWorkspace()
void PowerManagementInterface::inhibitSleepGnomeWorkspace()
{
#if !defined Q_OS_ANDROID && !defined Q_OS_WIN
// flags are: 4 = "Inhibit suspending the session or computer"
// 8 = "Inhibit the session being marked as idle"
auto asyncReply = d->mGnomeInterface->Inhibit(QCoreApplication::applicationName(),
uint(0),
i18nc("Explanation for sleep inhibit during play of music", "Playing Music"),
uint(8));
uint(12));
auto replyWatcher = new QDBusPendingCallWatcher(asyncReply, this);