mirror of https://github.com/RPCS3/rpcs3.git
Linux: add org.mate.ScreenSaver as fallback
This commit is contained in:
parent
9c1f258be3
commit
cb953a418f
|
@ -23,8 +23,15 @@ bool display_sleep_control_supported()
|
||||||
#if defined(_WIN32) || defined(__APPLE__)
|
#if defined(_WIN32) || defined(__APPLE__)
|
||||||
return true;
|
return true;
|
||||||
#elif defined(HAVE_QTDBUS)
|
#elif defined(HAVE_QTDBUS)
|
||||||
QDBusInterface interface("org.freedesktop.ScreenSaver", "/ScreenSaver", "org.freedesktop.ScreenSaver", QDBusConnection::sessionBus());
|
for (const QString& service : { "org.freedesktop.ScreenSaver", "org.mate.ScreenSaver" })
|
||||||
return interface.isValid();
|
{
|
||||||
|
QDBusInterface interface(service, "/ScreenSaver", service, QDBusConnection::sessionBus());
|
||||||
|
if (interface.isValid())
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
#else
|
#else
|
||||||
return false;
|
return false;
|
||||||
#endif
|
#endif
|
||||||
|
@ -48,8 +55,15 @@ void enable_display_sleep()
|
||||||
#elif defined(HAVE_QTDBUS)
|
#elif defined(HAVE_QTDBUS)
|
||||||
if (s_dbus_cookie != 0)
|
if (s_dbus_cookie != 0)
|
||||||
{
|
{
|
||||||
QDBusInterface interface("org.freedesktop.ScreenSaver", "/ScreenSaver", "org.freedesktop.ScreenSaver", QDBusConnection::sessionBus());
|
for (const QString& service : { "org.freedesktop.ScreenSaver", "org.mate.ScreenSaver" })
|
||||||
interface.call("UnInhibit", s_dbus_cookie);
|
{
|
||||||
|
QDBusInterface interface(service, "/ScreenSaver", service, QDBusConnection::sessionBus());
|
||||||
|
if (interface.isValid())
|
||||||
|
{
|
||||||
|
interface.call("UnInhibit", s_dbus_cookie);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
s_dbus_cookie = 0;
|
s_dbus_cookie = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -67,11 +81,18 @@ void disable_display_sleep()
|
||||||
#elif defined(__APPLE__)
|
#elif defined(__APPLE__)
|
||||||
IOPMAssertionCreateWithName(kIOPMAssertionTypePreventUserIdleDisplaySleep, kIOPMAssertionLevelOn, CFSTR("Game running"), &s_pm_assertion);
|
IOPMAssertionCreateWithName(kIOPMAssertionTypePreventUserIdleDisplaySleep, kIOPMAssertionLevelOn, CFSTR("Game running"), &s_pm_assertion);
|
||||||
#elif defined(HAVE_QTDBUS)
|
#elif defined(HAVE_QTDBUS)
|
||||||
QDBusInterface interface("org.freedesktop.ScreenSaver", "/ScreenSaver", "org.freedesktop.ScreenSaver", QDBusConnection::sessionBus());
|
for (const QString& service : { "org.freedesktop.ScreenSaver", "org.mate.ScreenSaver" })
|
||||||
QDBusReply<u32> reply = interface.call("Inhibit", "rpcs3", "Game running");
|
|
||||||
if (reply.isValid())
|
|
||||||
{
|
{
|
||||||
s_dbus_cookie = reply.value();
|
QDBusInterface interface(service, "/ScreenSaver", service, QDBusConnection::sessionBus());
|
||||||
|
if (interface.isValid())
|
||||||
|
{
|
||||||
|
QDBusReply<u32> reply = interface.call("Inhibit", "rpcs3", "Game running");
|
||||||
|
if (reply.isValid())
|
||||||
|
{
|
||||||
|
s_dbus_cookie = reply.value();
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue