Przykład menu napisanego w BASH.
#!/usr/bin/env bash
declare -a menu_list=(
"Suspend"
"Reboot"
"Monitor Off"
"Pass ROFI"
"Wyczyść hasło do agenta GPG"
"Wyczyść historię schowka"
"CPU GHz"
"Stan baterii"
"Edytuj Menu"
)
menu=$(printf '%s\n' "${menu_list[@]}" | rofi -lines 12 -dmenu -i -p "Wybierz coś" "${@}")
[ "$menu" == "Suspend" ] && sudo /usr/bin/systemctl suspend
[ "$menu" == "Reboot" ] && sudo reboot
if [ "$menu" == "Stan baterii" ]; then
batt=$(upower -i $(upower -e | grep BAT) | grep --color=never -E "state|to\ full|to\ empty|percentage")
rofi -e "$batt"
fi
if [ "$menu" == "Monitor Off" ]; then
notify-send "Za kilka chwil wyłączę monitor..."
sleep 1
xset dpms force off
fi
[ "$menu" == "Wyczyść hasło do agenta GPG" ] && gpg-connect-agent reloadagent /bye
[ "$menu" == "Wyczyść historię schowka" ] && $HOME/bin/clipdel -d ".*"
[ "$menu" == "Pass ROFI" ] && $HOME/bin/passr
check_cpu_exit_status() {
if [ $? == 0 ]; then
notify-send "Ustawiłem maksymalną częstotliwość na $1"
else
rofi -e "Ustawienie częstotliwości ($1) NIE powiodło się (zmień ustawienia sudo)."
fi
}
cpu() {
declare -a cpu_hz=(
"Max 400"
"Max 800"
"Max 1.4"
"Max 1.8"
"Max 2.4"
"Max 3.3"
"Max 4.0"
)
GHZ=$(cpupower frequency-info -f -m|tail -n 1|cut -f 6,7 -d ' ')
cpu=$(printf '%s\n' "${cpu_hz[@]}" | rofi -dmenu -i -p "Ustaw częstotliwość (teraz: $GHZ)" "${@}")
if [ "$cpu" == "Max 400" ]; then
/usr/bin/sudo cpupower frequency-set -u 400000 -g powersave
check_cpu_exit_status "0.4 GHz"
fi
if [ "$cpu" == "Max 800" ]; then
/usr/bin/sudo cpupower frequency-set -u 800000 -g powersave
check_cpu_exit_status "0.8 GHz"
fi
if [ "$cpu" == "Max 1.4" ]; then
/usr/bin/sudo cpupower frequency-set -u 1400000 -g powersave
check_cpu_exit_status "1.4 GHz"
fi
if [ "$cpu" == "Max 1.8" ]; then
/usr/bin/sudo cpupower frequency-set -u 1800000 -g powersave
check_cpu_exit_status "1.8 GHz"
fi
if [ "$cpu" == "Max 2.4" ]; then
/usr/bin/sudo cpupower frequency-set -u 2400000 -g powersave
check_cpu_exit_status "2.4 GHz"
fi
if [ "$cpu" == "Max 3.3" ]; then
/usr/bin/sudo cpupower frequency-set -u 3300000 -g powersave
check_cpu_exit_status "3.3 GHz"
fi
if [ "$cpu" == "Max 4.0" ]; then
/usr/bin/sudo cpupower frequency-set -u 4000000 -g powersave
check_cpu_exit_status "4.0 GHz"
fi
}
if [ "$menu" == "CPU GHz" ]; then
cpu
fi
if [ "$menu" == "Edytuj Menu" ]; then
st -e vim ~/bin/menu
fi
Menu z listą książek, po wybraniu pozycji, zostaje uruchomiona przeglądarka plików PDF zathura.
#!/usr/bin/env bash
APP=zathura
BOOKS_DIR=~/Books
BOOK="$( cd $BOOKS_DIR; find * -name \*.pdf -print | rofi -dmenu \
-i -l 20 -matching glob -p "Books ($APP)" )"
if [ -n "$BOOK" ]; then
$APP $BOOKS_DIR/"$BOOK"
fi
Date: 2021-06-27T22:02:46+02:00 |