Add system-sleep-menu.sh

This commit is contained in:
Alexander Rosenberg 2023-11-27 19:26:54 -08:00
parent 45995c6924
commit 6964a43e42
Signed by: Zander671
GPG Key ID: 5FD0394ADBD72730
2 changed files with 27 additions and 6 deletions

View File

@ -1,22 +1,23 @@
#!/usr/bin/env zsh
pgrep swayidle && swayidle_state="Enabled" || swayidle_state="Disabled"
# Format: label action condition
local entries=('Select system sound output' 'select-sound-output.sh' 'true'
"Enable or disable system sleep (Current: ${swayidle_state})" 'system-sleep-menu.sh' 'true'
'Configure USB device access' 'usbguard-menu.py' 'pgrep usbguard-daemon'
'Power settings (restart and shutdown)' 'system-power-menu.sh' 'true')
local fuzzel_input=""
declare -A entry_map
local entry_array=()
for ((i = 1; i <= ${#entries}; i+=3)); do
if eval "${entries[${i} + 2]}" >/dev/null 2>&1; then
entry_map["${entries[${i}]}"]="${entries[${i} + 1]}"
fuzzel_input+="${entries[${i}]}\n"
entry_array[$((${i} / 3 + 1))]="${entries[${i}]}"
fi
done
local scripts_dir="$(dirname "$(realpath "${0}")")"
choice="$(echo -n "${fuzzel_input}" | fuzzel -d)"
choice="$(printf '%s\n' ${entry_array} | fuzzel --index -d)"
(( ${?} != 0 )) && exit
eval "${scripts_dir}/${entry_map["${choice}"]}"
eval "${scripts_dir}/${entries["${choice}" * 3 + 2]}"

View File

@ -0,0 +1,20 @@
#!/usr/bin/env zsh
pgrep swayidle && swayidle_state="Enabled" || swayidle_state="Disabled"
choice="$(fuzzel --index -d -p "Cur: ${swayidle_state} > " <<'EOF'
Enable
Disable
EOF
)"
(( ${?} != 0 )) && exit
case "${choice}" in
0)
swayidle &
;;
1)
pkill swayidle
;;
esac