16#if defined(_X11_XLIB_H_) && !defined(Bool)
21#include <X11/extensions/dpms.h>
25#define LOC QString("ScreenSaverX11: ")
43 LOG(VB_GENERAL, LOG_INFO,
LOC +
"XScreenSaver support enabled");
55 LOG(VB_GENERAL, LOG_ERR,
LOC +
"Failed to open connection to X11 server");
60 CARD16 power_level = 0;
71 LOG(VB_GENERAL, LOG_INFO,
LOC +
"DPMS is active.");
73 LOG(VB_GENERAL, LOG_INFO,
LOC +
"DPMS is disabled.");
77 LOG(VB_GENERAL, LOG_INFO,
LOC +
"DPMS is not supported.");
96 LOG(VB_PLAYBACK, LOG_DEBUG,
LOC +
"StopTimer");
103 LOG(VB_PLAYBACK, LOG_DEBUG,
LOC +
"StartTimer");
110 LOG(VB_PLAYBACK, LOG_DEBUG,
LOC +
"ResetTimer -- begin");
117 LOG(VB_PLAYBACK, LOG_DEBUG,
LOC +
"ResetTimer -- end");
133 LOG(VB_GENERAL, LOG_INFO,
LOC + QString(
"DPMS Deactivated %1").arg(status));
144 LOG(VB_GENERAL, LOG_INFO,
LOC + QString(
"DPMS Reactivated %1").arg(status));
167 LOG(VB_GENERAL, LOG_INFO,
LOC +
"Uninhibited screensaver");
171 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Failed to re-enable screensaver");
189 LOG(VB_PLAYBACK, LOG_INFO,
LOC +
"Calling xscreensaver-command -deactivate");
190 myth_system(
"xscreensaver-command -deactivate >&- 2>&- &",
249 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Failed to reset screensaver");
251 LOG(VB_GENERAL, LOG_WARNING,
LOC +
"Failed to disable screensaver");
253 LOG(VB_GENERAL, LOG_INFO,
LOC +
"Inhibited X11 screensaver");
281 bool need_xsync =
false;
282 Display *dsp =
nullptr;
288 XResetScreenSaver(dsp);
297 DPMSForceLevel(dsp, DPMSModeOn);
313 BOOL on =
static_cast<BOOL
>(
false);
314 CARD16 power_level = DPMSModeOn;
319 return (power_level != DPMSModeOn);
327#include "moc_mythscreensaverx11.cpp"
T GetDurSetting(const QString &key, T defaultval=T::zero())
MythScreenSaverX11(QObject *Parent)
~MythScreenSaverX11() override
class ScreenSaverX11Private * m_priv
Base Class for screensavers.
void Sync(bool Flush=false)
static MythXDisplay * OpenMythXDisplay(bool Warn=true)
ScreenSaverState()=default
std::chrono::seconds m_timeoutInterval
bool m_dpmsdeactivated
true if we disabled DPMS
bool m_xscreensaverRunning
bool IsScreenSaverRunning() const
ScreenSaverX11Private(MythScreenSaverX11 *Parent)
void RestoreScreenSaver()
bool DeactivatedDPMS() const
QDateTime m_lastDeactivated
bool IsDPMSEnabled() const
MythCoreContext * gCoreContext
This global variable contains the MythCoreContext instance for the app.
#define LOG(_MASK_, _LEVEL_, _QSTRING_)
@ kMSDontBlockInputDevs
avoid blocking LIRC & Joystick Menu
@ kMSProcessEvents
process events while waiting
@ kMSRunBackground
run child in the background
@ kMSDontDisableDrawing
avoid disabling UI drawing
uint myth_system(const QString &command, uint flags, std::chrono::seconds timeout)
QDateTime current(bool stripped)
Returns current Date and Time in UTC.