On Thu, Sep 13, 2018 at 4:40 PM Bastien Nocera <bnocera@redhat.com> wrote:
It's broken. systemd will use it when GNOME isn't involved,

I don't think so:

$ grep -E '(HandlePower|HandleLid)'  /etc/systemd/logind.conf
#HandlePowerKey=poweroff
#HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#HandleLidSwitchDocked=ignore

Systemd defaults to poweroff or suspend, not to suspend-then-hibernate. Only gnome now defaults to suspend-then-hibernate.

 
therefore,
it will be broken at another level. It doesn't have a configuration on
purpose, because it should just work. We don't add configuration options
in GNOME when things should just work.

It doesn't just work, as explained by systemd and kernel folks. But it's an option you can use if you want (optionally, not default).
 

Disabling the support at the systemd level is as easy as masking a target.
Somebody interested in using the feature just needs to unask a target,
without needing to make changes to GNOME on top of that.

That means you have binary behavior, either or. That doesn't give people options to easily experiment on their existing hardware, or use the best approach at a given moment (i.e. suspend on monday to thursday, suspend-then-hibernate on friday).
 

This is what you want to do.

Adding a new configuration option doesn't explain to the end-user why this
might be a bad option to enable in the current state. It doesn't explain
why it's not enabled by default if it's a good feature to use.

As I suggested, it doesn't need to be exposed in GUI. This is clearly experimental stuff that needs to get stabilized over time (hopefully), and it's completely fine if only power users can find it. But if GNOME doesn't allow even power users to use it, then we can hardly hope for improving the kernel and distro support in the future. It's those power users that generate bug reports that generate fixes.