#!/bin/bash ## REMARK: # - above shebang is required for scripting file # - 1st arg passed to executable file is either "pre" (mean that the entry of a power operation) or "post" (mean that the exit of a power operation) # - 2nd arg passed to executable file is either "suspend", "hibernate", "hybrid-sleep", or "suspend-then-hibernate", depends on what power operation is operating # - SYSTEMD_SLEEP_ACTION environment variable is helpful for "suspend-then-hibernate", it has value of either "suspend", "hibernate", or "suspend-after-failed-hibernate" case $1 in pre) case $2 in hibernate) ;; hybrid-sleep) ;; suspend) ;; suspend-then-hibernate) case $SYSTEMD_SLEEP_ACTION in suspend) ;; hibernate) ;; suspend-after-failed-hibernate) ;; esac ;; esac ;; post) case $2 in hibernate) ;; hybrid-sleep) ;; suspend) ;; suspend-then-hibernate) case $SYSTEMD_SLEEP_ACTION in suspend) ;; hibernate) ;; suspend-after-failed-hibernate) ;; esac ;; esac ;; esac