Make system-sleep-menu.sh more flexible
This commit is contained in:
parent
9c80e72e37
commit
9301bb1bb4
@ -1,6 +1,10 @@
|
||||
#!/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'
|
||||
Enable
|
||||
@ -12,9 +16,23 @@ EOF
|
||||
|
||||
case "${choice}" in
|
||||
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)
|
||||
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
|
||||
|
Loading…
Reference in New Issue
Block a user