mirror of
https://github.com/arkenfox/user.js.git
synced 2025-05-07 09:23:50 +02:00
I'm actually more of a tabs guy
This commit is contained in:
parent
3090b6fdd2
commit
22a8ebefdb
1 changed files with 64 additions and 66 deletions
130
prefsCleaner.sh
130
prefsCleaner.sh
|
@ -19,42 +19,41 @@ if [ -z "$sfp" ]; then sfp=${BASH_SOURCE[0]}; fi
|
|||
cd "$(dirname "${sfp}")"
|
||||
|
||||
fQuit() {
|
||||
## change directory back to the original working directory
|
||||
cd "${currdir}"
|
||||
exit $1
|
||||
## change directory back to the original working directory
|
||||
cd "${currdir}"
|
||||
exit $1
|
||||
}
|
||||
|
||||
fFF_check() {
|
||||
# there are many ways to see if firefox is running or not, some more reliable than others
|
||||
# this isn't elegant and might not be future-proof but should at least be compatible with any environment
|
||||
while [ -e webappsstore.sqlite-shm ]
|
||||
do
|
||||
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n"
|
||||
read -p "Press any key to continue."
|
||||
done
|
||||
# there are many ways to see if firefox is running or not, some more reliable than others
|
||||
# this isn't elegant and might not be future-proof but should at least be compatible with any environment
|
||||
while [ -e webappsstore.sqlite-shm ]; do
|
||||
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n"
|
||||
read -p "Press any key to continue."
|
||||
done
|
||||
}
|
||||
|
||||
fClean() {
|
||||
# the magic happens here
|
||||
prefs="@@"
|
||||
prefexp="user_pref[ ]*\([ ]*[\"']([^\"']*)[\"'][ ]*,"
|
||||
while read -r line || [[ -n "$line" ]]; do
|
||||
if [[ $line =~ $prefexp ]]; then
|
||||
if [[ $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
|
||||
prefs="${prefs}${BASH_REMATCH[1]}@@"
|
||||
fi
|
||||
fi
|
||||
done <<< `grep -E "${prefexp}" user.js`
|
||||
# the magic happens here
|
||||
prefs="@@"
|
||||
prefexp="user_pref[ ]*\([ ]*[\"']([^\"']*)[\"'][ ]*,"
|
||||
while read -r line || [[ -n "$line" ]]; do
|
||||
if [[ $line =~ $prefexp ]]; then
|
||||
if [[ $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
|
||||
prefs="${prefs}${BASH_REMATCH[1]}@@"
|
||||
fi
|
||||
fi
|
||||
done <<< `grep -E "${prefexp}" user.js`
|
||||
|
||||
while IFS='' read -r line || [[ -n "$line" ]]; do
|
||||
if [[ $line =~ $prefexp ]]; then
|
||||
if [[ $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
|
||||
echo "$line"
|
||||
fi
|
||||
continue
|
||||
fi
|
||||
echo "$line"
|
||||
done < "$1" > prefs.js
|
||||
while IFS='' read -r line || [[ -n "$line" ]]; do
|
||||
if [[ $line =~ $prefexp ]]; then
|
||||
if [[ $prefs != *"@@${BASH_REMATCH[1]}@@"* ]]; then
|
||||
echo "$line"
|
||||
fi
|
||||
continue
|
||||
fi
|
||||
echo "$line"
|
||||
done < "$1" > prefs.js
|
||||
}
|
||||
|
||||
echo -e "\n\n"
|
||||
|
@ -67,41 +66,40 @@ echo -e "\nThis script should be run from your Firefox profile directory.\n"
|
|||
echo "It will remove any entries from prefs.js that also exist in user.js."
|
||||
echo "This will allow inactive preferences to be reset to their default values."
|
||||
echo -e "\nThis Firefox profile shouldn't be in use during the process.\n"
|
||||
select option in Start Help Exit;
|
||||
do
|
||||
case $option in
|
||||
Start)
|
||||
if [ ! -e user.js ]; then
|
||||
echo "user.js not found in the current directory."
|
||||
fQuit 1
|
||||
elif [ ! -e prefs.js ]; then
|
||||
echo "prefs.js not found in the current directory."
|
||||
fQuit 1
|
||||
fi
|
||||
|
||||
fFF_check
|
||||
## create backup folder if it doesn't exist
|
||||
mkdir -p userjs_backups;
|
||||
bakfile="userjs_backups/prefs.js.backup.$(date +"%Y-%m-%d_%H%M")"
|
||||
mv prefs.js "${bakfile}" && echo -e "\nprefs.js backed up: $bakfile"
|
||||
echo "Cleaning prefs.js..."
|
||||
fClean "$bakfile"
|
||||
echo "All done!"
|
||||
fQuit 0
|
||||
;;
|
||||
Help)
|
||||
echo -e "\nThis script creates a backup of your prefs.js file before doing anything."
|
||||
echo -e "It should be safe, but you can follow these steps if something goes wrong:\n"
|
||||
echo "1. Make sure Firefox is closed."
|
||||
echo "2. Delete prefs.js in your profile folder."
|
||||
echo "3. Delete Invalidprefs.js if you have one in the same folder."
|
||||
echo "4. Rename or copy your latest backup to prefs.js."
|
||||
echo "5. Run Firefox and see if you notice anything wrong with it."
|
||||
echo "6. If you do notice something wrong, especially with your extensions, and/or with the UI, go to about:support, and restart Firefox with add-ons disabled. Then, restart it again normally, and see if the problems were solved."
|
||||
echo -e "If you are able to identify the cause of your issues, please bring it up on ghacks-user.js GitHub repository.\n"
|
||||
;;
|
||||
Exit)
|
||||
fQuit 0
|
||||
;;
|
||||
esac
|
||||
select option in Start Help Exit; do
|
||||
case $option in
|
||||
Start)
|
||||
if [ ! -e user.js ]; then
|
||||
echo "user.js not found in the current directory."
|
||||
fQuit 1
|
||||
elif [ ! -e prefs.js ]; then
|
||||
echo "prefs.js not found in the current directory."
|
||||
fQuit 1
|
||||
fi
|
||||
|
||||
fFF_check
|
||||
## create backup folder if it doesn't exist
|
||||
mkdir -p userjs_backups;
|
||||
bakfile="userjs_backups/prefs.js.backup.$(date +"%Y-%m-%d_%H%M")"
|
||||
mv prefs.js "${bakfile}" && echo -e "\nprefs.js backed up: $bakfile"
|
||||
echo "Cleaning prefs.js..."
|
||||
fClean "$bakfile"
|
||||
echo "All done!"
|
||||
fQuit 0
|
||||
;;
|
||||
Help)
|
||||
echo -e "\nThis script creates a backup of your prefs.js file before doing anything."
|
||||
echo -e "It should be safe, but you can follow these steps if something goes wrong:\n"
|
||||
echo "1. Make sure Firefox is closed."
|
||||
echo "2. Delete prefs.js in your profile folder."
|
||||
echo "3. Delete Invalidprefs.js if you have one in the same folder."
|
||||
echo "4. Rename or copy your latest backup to prefs.js."
|
||||
echo "5. Run Firefox and see if you notice anything wrong with it."
|
||||
echo "6. If you do notice something wrong, especially with your extensions, and/or with the UI, go to about:support, and restart Firefox with add-ons disabled. Then, restart it again normally, and see if the problems were solved."
|
||||
echo -e "If you are able to identify the cause of your issues, please bring it up on ghacks-user.js GitHub repository.\n"
|
||||
;;
|
||||
Exit)
|
||||
fQuit 0
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
|
Loading…
Add table
Reference in a new issue