From ed379a1131062819478a723225dae5a25f623900 Mon Sep 17 00:00:00 2001 From: Adrian Malacoda Date: Thu, 7 Oct 2021 12:33:52 -0500 Subject: [PATCH] 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) --- mason/packages/prevent-sleep.scm | 15 ++++++++--- .../scripts/prevent-sleep/prevent-sleep | 27 ++++++++++++++----- 2 files changed, 33 insertions(+), 9 deletions(-) diff --git a/mason/packages/prevent-sleep.scm b/mason/packages/prevent-sleep.scm index 226918a..35dad36 100644 --- a/mason/packages/prevent-sleep.scm +++ b/mason/packages/prevent-sleep.scm @@ -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") diff --git a/mason/packages/scripts/prevent-sleep/prevent-sleep b/mason/packages/scripts/prevent-sleep/prevent-sleep index 3e7dae0..4ce44c0 100755 --- a/mason/packages/scripts/prevent-sleep/prevent-sleep +++ b/mason/packages/scripts/prevent-sleep/prevent-sleep @@ -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[@]}"