44 lines
1.0 KiB
Bash
Executable File
44 lines
1.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
# a simple "gui" for envycontrol
|
|
|
|
already_in()
|
|
{
|
|
quick-notify "Gpu Manager" "Already in $new_mode mode"
|
|
}
|
|
|
|
switch()
|
|
{
|
|
if sudo envycontrol.py --switch $new_mode; then
|
|
quick-notify "Gpu Manager" "Switched to $new_mode mode"
|
|
else
|
|
quick-notify "Gpu Manager" "Failed to switch to $new_mode mode"
|
|
fi
|
|
}
|
|
|
|
case "$(printf "integrated\\nhybrid\\nnvidia" | dmenu -p "Choose gpu mode")" in
|
|
"integrated") new_mode="integrated";;
|
|
"nvidia") new_mode="nvidia";;
|
|
"hybrid") new_mode="hybrid";;
|
|
esac
|
|
|
|
current_mode=$(envycontrol.py --status | awk '{ print $5 }')
|
|
|
|
if [ $current_mode = "integrated" ]; then
|
|
case $new_mode in
|
|
"integrated") already_in;;
|
|
"nvidia") quick-notify "Gpu Manager" "You need to first reboot into hybrid mode";;
|
|
"hybrid") switch;;
|
|
esac
|
|
elif [ $current_mode = "hybrid" ]; then
|
|
case $new_mode in
|
|
"hybrid") already_in;;
|
|
*) switch;;
|
|
esac
|
|
elif [ $current_mode = "nvidia" ]; then
|
|
case $new_mode in
|
|
"nvidia") already_in;;
|
|
*) switch;;
|
|
esac
|
|
fi
|