From b0b662548abb4b30930f40f2ea48e122bc94ed2a 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 4919f474..d569296f 100644 --- a/src/xfpm-power.c +++ b/src/xfpm-power.c @@ -962,6 +962,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) { @@ -1461,8 +1465,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