mirror of
https://github.com/black7375/Firefox-UI-Fix.git
synced 2025-12-30 22:20:28 -08:00
107 lines
4 KiB
Bash
107 lines
4 KiB
Bash
#!/usr/bin/env bash
|
|
# shellcheck disable=SC2185
|
|
function copychrome(){
|
|
\cp -f userChrome.css ~/.mozilla/firefox/"$1"/chrome/userChrome.css
|
|
\cp -f userContent.css ~/.mozilla/firefox/"$1"/chrome/userContent.css
|
|
\cp -f -r icons ~/.mozilla/firefox/"$1"/chrome/
|
|
}
|
|
function backupchrome(){
|
|
if [ -f ~/.mozilla/firefox/"$1"/chrome/userChrome.css ];then
|
|
\mv -f ~/.mozilla/firefox/"$1"/chrome/userChrome.css ~/.mozilla/firefox/"$1"/chrome/userChrome.css.bak
|
|
\mv -f ~/.mozilla/firefox/"$1"/chrome/userContent.css ~/.mozilla/firefox/"$1"/chrome/userContent.css.bak
|
|
fi
|
|
cd ~/.mozilla/firefox/"$1"/chrome/icons || exit
|
|
if [ -f ~/.mozilla/firefox/"$1"/chrome/icons/bug.svg ];then
|
|
for file in *
|
|
do
|
|
\mv -f "$file" "${file/.svg/.svg.bak}"
|
|
done
|
|
fi
|
|
cd "$wherewasi" || exit
|
|
}
|
|
function backupjs(){
|
|
\mv -f ~/.mozilla/firefox/"$1"/user.js ~/.mozilla/firefox/"$1"/user.js.bak
|
|
}
|
|
function copyjs(){
|
|
\cp -f user.js ~/.mozilla/firefox/"$1"/user.js
|
|
}
|
|
function doneinstall()
|
|
{
|
|
echo "Installation finished."
|
|
}
|
|
function install_lepton(){
|
|
if [ -f ~/.mozilla/firefox/"$1"/user.js ]; then
|
|
printf "user.js exists. Do you want to make a backup of it?(Y/n): "
|
|
read -r
|
|
case $REPLY in
|
|
[Nn]* ) printf "Overwriting...\n";copyjs "$1";;
|
|
* )printf "Making a backup...\n";backupjs "$1";copyjs "$1";;
|
|
esac
|
|
else
|
|
copyjs "$1"
|
|
fi
|
|
if [ -d "$HOME/.mozilla/firefox/$1/chrome" ]; then
|
|
printf "The directory chrome/ exists. Do you want to make a backup of it?(Y/n): "
|
|
read -r
|
|
case $REPLY in
|
|
[Nn]* ) printf "Overwriting...\n";copychrome "$1";doneinstall;;
|
|
* )printf "Making a backup...\n";backupchrome "$1";copychrome "$1";doneinstall;;
|
|
esac
|
|
else
|
|
mkdir ~/.mozilla/firefox/"$1"/chrome/
|
|
copychrome "$1"
|
|
doneinstall
|
|
fi
|
|
}
|
|
|
|
function multipleinstall(){
|
|
echo "You have more than 1 profile for your install. What will you use? Pick a number."
|
|
grep "$1" ~/.mozilla/firefox/profiles.ini | grep 'Default=' | cut -f 2 -d'=' > .installs
|
|
cat --number .installs
|
|
read -r
|
|
profiledir="$(head -"${REPLY}" .installs | tail +"${REPLY}")"
|
|
install_lepton "$profiledir"
|
|
rm -rf .installs
|
|
}
|
|
|
|
function install_option(){
|
|
if [ "$(grep -c "$1" ~/.mozilla/firefox/.folders)" == "1" ]; then
|
|
profiledir="$(grep "$1" ~/.mozilla/firefox/profiles.ini | grep 'Default=' | cut -f 2 -d'=')"
|
|
install_lepton "$profiledir"
|
|
else
|
|
multipleinstall "$1"
|
|
fi
|
|
rm -rf ~/.mozilla/firefox/.folders
|
|
}
|
|
function askinstall(){
|
|
printf "Will you install for ESR, Default, Dev, Nightly?(ESR/Default/Dev/Nightly): "
|
|
read -r
|
|
case $REPLY in
|
|
[Ee][Ss][Rr]) install_option .default-esr;;
|
|
[Dd][Ee][Ff][Aa][Uu][Ll][Tt]) install_option .default-release;;
|
|
[Dd][Ee][Vv]) install_option .dev-edition-default;;
|
|
[Nn][Ii][Gg][Hh][Tt][Ll][Yy]) install_option .default-nightly;;
|
|
*) echo "Unspecified.";exit;;
|
|
esac
|
|
}
|
|
wherewasi="$(pwd)"
|
|
cd ~/.mozilla/firefox/ || exit
|
|
find -maxdepth 1 | cut -f 2 -d"/" | sed -n '1!p' > .folders
|
|
cd "$wherewasi" || exit
|
|
if [ "$(grep -c "Default=" ~/.mozilla/firefox/installs.ini)" == "1" ]; then
|
|
#I have no idea how to sort this out. You fix it please.
|
|
if [ "$(grep -c ".dev-edition-default" ~/.mozilla/firefox/.folders)" == "1" ] || [ "$(grep -c ".dev-edition-default" ~/.mozilla/firefox/.folders)" -gt "1" ]; then
|
|
install_option .dev-edition-default
|
|
elif [ "$(grep -c ".default-release" ~/.mozilla/firefox/.folders)" == "1" ] || [ "$(grep -c ".default-release" ~/.mozilla/firefox/.folders)" -gt "1" ]; then
|
|
install_option .default-release
|
|
elif [ "$(grep -c ".default-nightly" ~/.mozilla/firefox/.folders)" == "1" ] || [ "$(grep -c ".default-nightly" ~/.mozilla/firefox/.folders)" -gt "1" ]; then
|
|
install_option .default-nightly
|
|
elif [ "$(grep -c ".default-esr" ~/.mozilla/firefox/.folders)" == "1" ] || [ "$(grep -c ".default-esr" ~/.mozilla/firefox/.folders)" == "1" ]; then
|
|
install_option .default-esr
|
|
else
|
|
echo "No Firefox profile found. Maybe you have never started FireFox. Please run at least 1 time to create a profile."
|
|
exit
|
|
fi
|
|
else
|
|
askinstall
|
|
fi
|