mirror of
https://github.com/vinceliuice/grub2-themes.git
synced 2024-11-05 12:36:13 +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
|
||||
}
|
||||
|
||||
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
|
||||
PROG_ARGS+=("${1}")
|
||||
dialog='false'
|
||||
case "${1}" in
|
||||
-b|--boot)
|
||||
THEME_DIR="/boot/grub/themes"
|
||||
@ -511,38 +545,7 @@ while [[ $# -gt 0 ]]; do
|
||||
done
|
||||
|
||||
# Show terminal user interface for better use
|
||||
if [[ $# -eq 0 ]]; 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 [[ "${dialog:-}" == 'false' ]]; then
|
||||
if [[ "${remove:-}" != 'true' ]]; then
|
||||
for theme in "${themes[@]-${THEME_VARIANTS[0]}}"; do
|
||||
for icon in "${icons[@]-${ICON_VARIANTS[0]}}"; do
|
||||
@ -556,6 +559,8 @@ else
|
||||
remove "${theme}"
|
||||
done
|
||||
fi
|
||||
else
|
||||
dialog_installer
|
||||
fi
|
||||
|
||||
exit 1
|
||||
|
Loading…
Reference in New Issue
Block a user