Modify system menu
This commit is contained in:
@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env zsh
|
||||
|
||||
local CACHE_PATH="${HOME}/.cache/system-sleep-menu"
|
||||
let is_active=0
|
||||
systemctl --user --quiet is-active swayidle.service && is_active=1
|
||||
|
||||
pgrep swayidle >/dev/null 2>&1 \
|
||||
&& swayidle_state="Enabled" \
|
||||
|| swayidle_state="Disabled"
|
||||
local swayidle_state
|
||||
(( is_active )) && swayidle_state='Enabled' || swayidle_state='Disabled'
|
||||
|
||||
choice="$(fuzzel --index -d -p "Cur: ${swayidle_state} > " <<'EOF'
|
||||
Enable
|
||||
@ -16,25 +16,10 @@ EOF
|
||||
|
||||
case "${choice}" in
|
||||
0)
|
||||
if [[ "${swayidle_state}" == 'Disabled' ]]; then
|
||||
local cmd_cache=(${(0)"$(<"${CACHE_PATH}")"})
|
||||
{
|
||||
set -x
|
||||
cd "${cmd_cache[1]}"
|
||||
exec ${=${cmd_cache[2]}}
|
||||
} &
|
||||
disown
|
||||
fi
|
||||
systemctl --user start swayidle.service
|
||||
;;
|
||||
1)
|
||||
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
|
||||
systemctl --user stop swayidle.service
|
||||
;;
|
||||
esac
|
||||
|
||||
|
||||
Reference in New Issue
Block a user