Make system-sleep-menu.sh more flexible
This commit is contained in:
parent
9c80e72e37
commit
9301bb1bb4
@ -1,6 +1,10 @@
|
|||||||
#!/usr/bin/env zsh
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
pgrep swayidle && swayidle_state="Enabled" || swayidle_state="Disabled"
|
local CACHE_PATH="${HOME}/.cache/system-sleep-menu"
|
||||||
|
|
||||||
|
pgrep swayidle >/dev/null 2>&1 \
|
||||||
|
&& swayidle_state="Enabled" \
|
||||||
|
|| swayidle_state="Disabled"
|
||||||
|
|
||||||
choice="$(fuzzel --index -d -p "Cur: ${swayidle_state} > " <<'EOF'
|
choice="$(fuzzel --index -d -p "Cur: ${swayidle_state} > " <<'EOF'
|
||||||
Enable
|
Enable
|
||||||
@ -12,9 +16,23 @@ EOF
|
|||||||
|
|
||||||
case "${choice}" in
|
case "${choice}" in
|
||||||
0)
|
0)
|
||||||
swayidle -w &
|
if [[ "${swayidle_state}" == 'Disabled' ]]; then
|
||||||
|
local cmd_cache=(${(0)"$(<"${CACHE_PATH}")"})
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
cd "${cmd_cache[1]}"
|
||||||
|
eval "${cmd_cache[2]}" &
|
||||||
|
)
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
1)
|
1)
|
||||||
pkill swayidle
|
pgrep_output=(${(ps: :)"$(pgrep -fa swayidle)"})
|
||||||
|
if [[ "${swayidle_state}" = 'Enabled' ]]; then
|
||||||
|
local si_pid="${pgrep_output[1]}"
|
||||||
|
local si_pwd="$(readlink "/proc/${si_pid}/cwd")"
|
||||||
|
local si_cmd="${pgrep_output:1}"
|
||||||
|
printf '%s\0%s' "${si_pwd}" "${si_cmd}" >"${CACHE_PATH}"
|
||||||
|
pkill swayidle
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
Loading…
Reference in New Issue
Block a user