prevent-sleep: do not propagate yad input, allow for system yad or zenity to take precedence (since Guix GTK applications don't seem to work with mobian right now)

This commit is contained in:
Adrian Kuschelyagi Malacoda 2021-10-07 12:33:52 -05:00
parent 632745c36d
commit ed379a1131
2 changed files with 33 additions and 9 deletions

View File

@ -16,9 +16,18 @@
(build-system copy-build-system)
(arguments
'(#:install-plan
'(("prevent-sleep" "bin/"))))
(propagated-inputs
`(("yad" ,yad)))
'(("prevent-sleep" "bin/"))
#:phases
(modify-phases %standard-phases
(add-after 'unpack 'configure
(lambda* (#:key inputs #:allow-other-keys)
(substitute* (list "prevent-sleep")
(("@YAD_PATH@")
(string-append (assoc-ref inputs "yad")
"/bin")))
#t)))))
(inputs
`(("yad" ,yad)))
(synopsis "Prevent sleep")
(description
"Prevent sleep")

View File

@ -1,9 +1,24 @@
#!/usr/bin/env bash
gnome-session-inhibit --reason "$(whoami) said so..." \
--inhibit suspend \
yad --title "Prevent Suspend" \
--text "We will NOT sleep, unless you click \"OK\"!" \
--button=gtk-ok \
REASON="$(whoami) said so..."
TITLE="Prevent Suspend"
TEXT="We will NOT sleep, unless you click \"OK\"!"
echo "OK! Zzzzzzzz"
YAD_INPUT="@YAD_PATH@/bin/yad"
if command -v yad &> /dev/null; then
COMMAND=(yad --title "$TITLE" \
--text "$TEXT" \
--button=gtk-ok)
elif command -v zenity &> /dev/null; then
COMMAND=(zenity --info --title "$TITLE" \
--text "$TEXT")
elif [ -x $YAD_INPUT ]; then
COMMAND=($YAD_INPUT --title "$TITLE" \
--text "$TEXT" \
--button=gtk-ok)
fi
gnome-session-inhibit --reason "$REASON" \
--inhibit suspend \
"${COMMAND[@]}"