From 1b075370554d52025ebfef3d2c237376de60fa8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dyego=20Aur=C3=A9lio?= Date: Thu, 22 Oct 2020 20:39:57 -0300 Subject: [PATCH] fix installation folder --- scripts/install.sh | 102 +++++++++++++++++++++++++-------------------- 1 file changed, 57 insertions(+), 45 deletions(-) diff --git a/scripts/install.sh b/scripts/install.sh index a004d5c..5de4499 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -30,56 +30,68 @@ while getopts 'f:p:g:t:h' flag; do esac done -# Define profile folder path. -if test -z "$PROFILENAME" -then - PROFILEFOLDER="$FIREFOXFOLDER/$(current_profile)" -else - PROFILEFOLDER="$FIREFOXFOLDER/$PROFILENAME" -fi +function saveProfile(){ + cd $FIREFOXFOLDER/$PROFILE_PATH + echo "Installing theme in $PWD" + # Create a chrome directory if it doesn't exist. + mkdir -p chrome + cd chrome -# Enter Firefox profile folder. -if ! cd $PROFILEFOLDER ; then - echo "Error entering profile folder." - echo "Try using -p flag to specify a custom profile name." + # Copy theme repo inside + echo "Copying repo in $PWD" + cp -fR $THEMEDIRECTORY $PWD + + # Create single-line user CSS files if non-existent or empty. + if [ -s userChrome.css ]; then + # Remove older theme imports + sed 's/@import "firefox-gnome-theme.*.//g' userChrome.css | sed '/^\s*$/d' > userChrome.css + echo >> userChrome.css + else + echo >> userChrome.css + fi + + # Import this theme at the beginning of the CSS files. + sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css + + if [ $THEME = "DEFAULT" ]; then + echo "No theme set, using default adwaita." + else + echo "Setting $THEME theme." + echo "@import \"firefox-gnome-theme\/theme/colors/light-$THEME.css\";" >> userChrome.css + echo "@import \"firefox-gnome-theme\/theme/colors/dark-$THEME.css\";" >> userChrome.css + fi + + cd .. + + # Symlink user.js to firefox-gnome-theme one. + echo "Set configuration user.js file" + ln -fs chrome/firefox-gnome-theme/configuration/user.js user.js + + echo "Done." + cd .. +} + +PROFILES_FILE="${FIREFOXFOLDER}/profiles.ini" +if [ ! -f "${PROFILES_FILE}" ]; then + >&2 echo "failed, lease check Firefox installation, unable to find profile.ini at ${FIREFOX_DIR}" exit 1 fi +echo "Profiles file found" -echo "Installing theme in $PWD" +PROFILES_PATHS=($(grep -E "^Path=" "${PROFILES_FILE}" | cut -d "=" -f2-)) -# Create a chrome directory if it doesn't exist. -mkdir -p chrome -cd chrome - -# Copy theme repo inside -echo "Copying repo in $PWD" -cp -fR $THEMEDIRECTORY $PWD - -# Create single-line user CSS files if non-existent or empty. -if [ -s userChrome.css ]; then - # Remove older theme imports - sed 's/@import "firefox-gnome-theme.*.//g' userChrome.css | sed '/^\s*$/d' > userChrome.css - echo >> userChrome.css +if [ ${#PROFILES_PATHS[@]} -eq 0 ]; then + >&2 echo "failed, no profiles found at ${PROFILES_FILE}" + exit 0 +elif [ ${#PROFILES_PATHS[@]} -eq 1 ]; then + echo "one profile found" + saveProfile "0" "${PROFILES_PATHS[0]}" else - echo >> userChrome.css + echo "${#PROFILES_PATHS[@]} profiles found" + ITEM=0 + for PROFILE_PATH in "${PROFILES_PATHS[@]}"; do + saveProfile "${ITEM}" "${PROFILE_PATH}" + ITEM="$((${ITEM}+1))" + done fi -# Import this theme at the beginning of the CSS files. -sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css - -if [ $THEME = "DEFAULT" ]; then - echo "No theme set, using default adwaita." -else - echo "Setting $THEME theme." - echo "@import \"firefox-gnome-theme\/theme/colors/light-$THEME.css\";" >> userChrome.css - echo "@import \"firefox-gnome-theme\/theme/colors/dark-$THEME.css\";" >> userChrome.css -fi - -cd .. - -# Symlink user.js to firefox-gnome-theme one. -echo "Set configuration user.js file" -ln -fs chrome/firefox-gnome-theme/configuration/user.js user.js - -echo "Done." -