mirror of
https://github.com/vinceliuice/grub2-themes.git
synced 2024-12-25 09:15:35 +01:00
Fixed #126
This commit is contained in:
parent
ab5ba9cf78
commit
5a31c8d8e7
69
install.sh
69
install.sh
@ -390,8 +390,42 @@ remove() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dialog_installer() {
|
||||||
|
if [[ ! -x /usr/bin/dialog ]]; then
|
||||||
|
if [[ $UID -ne $ROOT_UID ]]; then
|
||||||
|
#Check if password is cached (if cache timestamp not expired yet)
|
||||||
|
sudo -n true 2> /dev/null && echo
|
||||||
|
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
#No need to ask for password
|
||||||
|
exec sudo $0
|
||||||
|
else
|
||||||
|
#Ask for password
|
||||||
|
prompt -e "\n [ Error! ] -> Run me as root! "
|
||||||
|
read -p " [ Trusted ] Specify the root password : " -t ${MAX_DELAY} -s
|
||||||
|
|
||||||
|
sudo -S echo <<< $REPLY 2> /dev/null && echo
|
||||||
|
|
||||||
|
if [[ $? == 0 ]]; then
|
||||||
|
#Correct password, use with sudo's stdin
|
||||||
|
sudo $0 <<< $REPLY
|
||||||
|
else
|
||||||
|
#block for 3 seconds before allowing another attempt
|
||||||
|
sleep 3
|
||||||
|
prompt -e "\n [ Error! ] -> Incorrect password!\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
install_dialog
|
||||||
|
fi
|
||||||
|
run_dialog
|
||||||
|
install "${theme}" "${icon}" "${screen}"
|
||||||
|
}
|
||||||
|
|
||||||
while [[ $# -gt 0 ]]; do
|
while [[ $# -gt 0 ]]; do
|
||||||
PROG_ARGS+=("${1}")
|
PROG_ARGS+=("${1}")
|
||||||
|
dialog='false'
|
||||||
case "${1}" in
|
case "${1}" in
|
||||||
-b|--boot)
|
-b|--boot)
|
||||||
THEME_DIR="/boot/grub/themes"
|
THEME_DIR="/boot/grub/themes"
|
||||||
@ -511,38 +545,7 @@ while [[ $# -gt 0 ]]; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
# Show terminal user interface for better use
|
# Show terminal user interface for better use
|
||||||
if [[ $# -eq 0 ]]; then
|
if [[ "${dialog:-}" == 'false' ]]; then
|
||||||
if [[ ! -x /usr/bin/dialog ]]; then
|
|
||||||
if [[ $UID -ne $ROOT_UID ]]; then
|
|
||||||
#Check if password is cached (if cache timestamp not expired yet)
|
|
||||||
sudo -n true 2> /dev/null && echo
|
|
||||||
|
|
||||||
if [[ $? == 0 ]]; then
|
|
||||||
#No need to ask for password
|
|
||||||
exec sudo $0
|
|
||||||
else
|
|
||||||
#Ask for password
|
|
||||||
prompt -e "\n [ Error! ] -> Run me as root! "
|
|
||||||
read -p " [ Trusted ] Specify the root password : " -t ${MAX_DELAY} -s
|
|
||||||
|
|
||||||
sudo -S echo <<< $REPLY 2> /dev/null && echo
|
|
||||||
|
|
||||||
if [[ $? == 0 ]]; then
|
|
||||||
#Correct password, use with sudo's stdin
|
|
||||||
sudo $0 <<< $REPLY
|
|
||||||
else
|
|
||||||
#block for 3 seconds before allowing another attempt
|
|
||||||
sleep 3
|
|
||||||
prompt -e "\n [ Error! ] -> Incorrect password!\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
install_dialog
|
|
||||||
fi
|
|
||||||
run_dialog
|
|
||||||
install "${theme}" "${icon}" "${screen}"
|
|
||||||
else
|
|
||||||
if [[ "${remove:-}" != 'true' ]]; then
|
if [[ "${remove:-}" != 'true' ]]; then
|
||||||
for theme in "${themes[@]-${THEME_VARIANTS[0]}}"; do
|
for theme in "${themes[@]-${THEME_VARIANTS[0]}}"; do
|
||||||
for icon in "${icons[@]-${ICON_VARIANTS[0]}}"; do
|
for icon in "${icons[@]-${ICON_VARIANTS[0]}}"; do
|
||||||
@ -556,6 +559,8 @@ else
|
|||||||
remove "${theme}"
|
remove "${theme}"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
dialog_installer
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit 1
|
exit 1
|
||||||
|
Loading…
Reference in New Issue
Block a user