From 375d3a056d687da5effb353872733b2d00c92bc7 Mon Sep 17 00:00:00 2001 From: Michael Weiser Date: Sat, 11 Jan 2020 11:46:23 +0100 Subject: [PATCH] Make inhibitors disable display power management Inhibiting power management should also disable display power management. Otherwise it is not much use inhibiting the screensaver if the display will still blank. This change disables DPMS whenever presentation mode or external inhibitors are in effect. --- src/xfpm-power.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/xfpm-power.c b/src/xfpm-power.c index f6087ad8..be0e7bff 100644 --- a/src/xfpm-power.c +++ b/src/xfpm-power.c @@ -956,6 +956,10 @@ xfpm_power_inhibit_changed_cb (XfpmInhibit *inhibit, gboolean is_inhibit, XfpmPo power->priv->screensaver_inhibited ? "TRUE" : "FALSE", power->priv->presentation_mode ? "TRUE" : "FALSE"); + /* presentation mode or external inhibitor both inhibit dpms */ + xfpm_dpms_inhibit (power->priv->dpms, + power->priv->presentation_mode || is_inhibit); + /* If we are inhibited make sure we inhibit the screensaver too */ if (is_inhibit) { @@ -1456,8 +1460,9 @@ xfpm_power_change_presentation_mode (XfpmPower *power, gboolean presentation_mod power->priv->presentation_mode = presentation_mode; - /* presentation mode inhibits dpms */ - xfpm_dpms_inhibit (power->priv->dpms, presentation_mode); + /* presentation mode or external inhibitor both inhibit dpms */ + xfpm_dpms_inhibit (power->priv->dpms, + presentation_mode || power->priv->inhibited); XFPM_DEBUG ("is_inhibit %s, screensaver_inhibited %s, presentation_mode %s", power->priv->inhibited ? "TRUE" : "FALSE", -- 2.24.1