void ScreenSaverWaker::Wake() { #ifdef Q_OS_MAC UpdateSystemActivity(OverallAct);//Mac Specific Call #endif #ifdef Q_OS_LINUX #endif }
void MacScreensaver::Timeout() { UpdateSystemActivity(OverallAct); }
//---------------------------------------------------------------- // ScreenSaverInhibitor::screenSaverInhibit // void ScreenSaverInhibitor::screenSaverInhibit() { #ifdef __APPLE__ UpdateSystemActivity(UsrActivity); #elif defined(_WIN32) // http://www.codeproject.com/KB/system/disablescreensave.aspx // // Call the SystemParametersInfo function to query and reset the // screensaver time-out value. Use the user's default settings // in case your application terminates abnormally. // static UINT spiGetter[] = { SPI_GETLOWPOWERTIMEOUT, SPI_GETPOWEROFFTIMEOUT, SPI_GETSCREENSAVETIMEOUT }; static UINT spiSetter[] = { SPI_SETLOWPOWERTIMEOUT, SPI_SETPOWEROFFTIMEOUT, SPI_SETSCREENSAVETIMEOUT }; std::size_t numParams = sizeof(spiGetter) / sizeof(spiGetter[0]); for (std::size_t i = 0; i < numParams; i++) { UINT val = 0; BOOL ok = SystemParametersInfo(spiGetter[i], 0, &val, 0); YAE_ASSERT(ok); if (ok) { ok = SystemParametersInfo(spiSetter[i], val, NULL, 0); YAE_ASSERT(ok); } } #else // try using DBUS to talk to the screensaver... bool done = false; if (QDBusConnection::sessionBus().isConnected()) { QDBusInterface screensaver("org.freedesktop.ScreenSaver", "/ScreenSaver"); if (screensaver.isValid()) { // apparently SimulateUserActivity is not enough to keep Ubuntu // from starting the screensaver screensaver.call(QDBus::NoBlock, "SimulateUserActivity"); // try to inhibit the screensaver as well: if (!cookie_) { QDBusMessage out = screensaver.call(QDBus::Block, "Inhibit", QVariant(QApplication::applicationName()), QVariant("video playback")); if (out.type() == QDBusMessage::ReplyMessage && !out.arguments().empty()) { cookie_ = out.arguments().front().toUInt(); } } if (cookie_) { timerScreenSaverUnInhibit_.start(); } done = true; } } if (!done) { // FIXME: not sure how to do this yet std::cerr << "screenSaverInhibit" << std::endl; } #endif }