Move install settings to librewolf

This commit is contained in:
BeatLink 2019-07-14 13:10:10 -05:00
parent 54078c8968
commit bdaf8f6d22
2 changed files with 22 additions and 54 deletions

View file

@ -1,17 +1,30 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# PROFILE SPECIFIC SETTINGS WILL NOT WORK, DO NOT UNCOMMENT INSTALL_FOLDER=$(realpath $(dirname $0));
# Adds option to install settings if argument is passed INSTALL_SETTINGS_FOLDER=$INSTALL_FOLDER/settings;
# if [ "$1" = "--install-settings" ]; then PROFILE_SETTINGS_FOLDER=$HOME/.librewolf/settings;
# ./install_settings;
# fi
# Sets env variables to disable dedicated profiles (which breaks in some cases) # Adds option to install settings if argument is passed
if [ "$1" = "--install-settings" ]; then
mkdir -p $PROFILE_SETTINGS_FOLDER;
cp $INSTALL_SETTINGS_FOLDER/defaults/pref/local-settings.js $PROFILE_SETTINGS_FOLDER/local-settings.js;
cp $INSTALL_SETTINGS_FOLDER/distribution/policies.json $PROFILE_SETTINGS_FOLDER/policies.json;
cp $INSTALL_SETTINGS_FOLDER/librewolf.cfg $PROFILE_SETTINGS_FOLDER/librewolf.cfg;
cp $INSTALL_SETTINGS_FOLDER/toggle-settings.sh $PROFILE_SETTINGS_FOLDER/toggle-settings.sh;
fi
# Sets up settings links
ln -s $PROFILE_SETTINGS_FOLDER/local-settings.js $INSTALL_FOLDER/defaults/pref/local-settings.js;
ln -s $PROFILE_SETTINGS_FOLDER/policies.json $INSTALL_FOLDER/distribution/policies.json;
ln -s $PROFILE_SETTINGS_FOLDER/librewolf.cfg $INSTALL_FOLDER/librewolf.cfg;
# Sets env variables to disable dedicated profiles (which breaks some packaging methods)
export MOZ_LEGACY_PROFILES=1; export MOZ_LEGACY_PROFILES=1;
export SNAP_NAME="firefox"; export SNAP_NAME="firefox";
SCRIPT_FOLDER=$(realpath $(dirname $0));
chmod +x $SCRIPT_FOLDER/librewolf; # Launches librewolf
$SCRIPT_FOLDER/librewolf "$@"; chmod +x $INSTALL_FOLDER/librewolf;
$INSTALL_FOLDER/librewolf "$@";

View file

@ -1,45 +0,0 @@
#!/usr/bin/env bash
# The purpose of this file is to automatically install the librewolf settings into every profile that exists in the
# profiles.ini file.
#
# This script is intended to be called at librewolf startup.
#
# This script should be used from the librewolf source code, otherwise the settings data folder must be specified below
#
# This script does not overwrite the settings files if they exist, so feel free to customize your per profile configurations
#
# For Reference, profiles can be found in: /home/<username>/.librewolf/
LIBREWOLF_FOLDER=$HOME/.librewolf;
PROFILE_FILE=${LIBREWOLF_FOLDER}/profiles.ini;
SCRIPT_FOLDER=$(realpath $(dirname $0));
SETTINGS_DATA_FOLDER=$SCRIPT_FOLDER/settings;
profile_folders=();
# Get profile folders from profiles.ini --------------------------------------------------------------------------------
function get_profile_folders() {
while IFS= read -r line; do # reads file line by line, saving each line to $line
if [[ ${line} == "Path="* ]]; then # checks if $line starts with "Path="
IFS='='; read -ra split_line <<< "$line"; # splits the line on '=' storing values in the $split_line array
path=${split_line[1]}; # gets the path from the second element of the array
if [[ ${path} != /* ]]; then
path=${LIBREWOLF_FOLDER}/${path};
fi
profile_folders+=(${path}) # appends the second element of split_line array (the path) to $profile_folders
fi
done < ${PROFILE_FILE}
}
# Install script to profile folders -------------------------------------------------------------------------------------
function add_settings_to_folder() {
get_profile_folders;
for profile_folder in "${profile_folders[@]}"
do
echo "Adding settings to" ${profile_folder}
cp -rvn ${SETTINGS_DATA_FOLDER} $profile_folder/
# do whatever on $i
done
}
add_settings_to_folder;