The power management inhibition UI is currently somewhat confusing to
users because it's not clear that the checkbox is a local override for
the permanent settings set elsewhere in System Settings.
A good sign that the UI is sub-optimal is that we refer to it as "power
management inhibition" internally and in our developer conversations,
but the UI expresses the opposite: *allowing* power management, not
inhibiting it. This conflicts in the user's mind with the UI in System
Settings that is also expressed in terms of allowing it. It is further
confused by the fact that the message about apps suppressing power
management is phrased in terms of being an temporary override, and that
we also show an unrelated message about the battery charge limit (if set)
in the same place where we're notifying the user about power management
inhibition.
Let's clarify this UI by doing the following:
- Re-word the checkbox's label to emphasize that it's a local override
for the settings that were set elsewhere
- Move the charge level message into the battery item itself, since
that's what it affects
- Slightly re-word the message for when apps are inhibiting power
management to emphasize that power management can be inhibited
automatically by apps in additionto manually by the user
BUG: 435827
FIXED-IN: 5.22
text:i18n("Your battery is configured to only charge up to %1%.",chargeStopThreshold||0)
visible:pmSource.data["PowerDevil"]&&pmSource.data["PowerDevil"]["Is Lid Present"]&&!pmSource.data["PowerDevil"]["Triggers Lid Action"]?true :false
iconSource:"computer-laptop"
text:i18nc("Minimize the length of this string as much as possible","Your notebook is configured not to sleep when closing the lid while an external monitor is connected.")
visible:pmSource.data["PowerDevil"]&&pmSource.data["PowerDevil"]["Is Lid Present"]&&!pmSource.data["PowerDevil"]["Triggers Lid Action"]?true :false
iconSource:"computer-laptop"
text:i18nc("Minimize the length of this string as much as possible","Your notebook is configured not to sleep when closing the lid while an external monitor is connected.")
iconSource:inhibitions[0].Icon||""
text:inhibitions[0].Reason?
i18n("%1 is inhibiting sleep and screen locking (%2)",inhibitions[0].Name,inhibitions[0].Reason)
:i18n("%1 is inhibiting sleep and screen locking (unknown reason)",inhibitions[0].Name)