diff options
-rwxr-xr-x | browser/linux/resources/launch_librewolf.sh | 29 | ||||
-rwxr-xr-x | settings/install_settings.sh | 45 |
2 files changed, 21 insertions, 53 deletions
diff --git a/browser/linux/resources/launch_librewolf.sh b/browser/linux/resources/launch_librewolf.sh index 88058c6..f8b099d 100755 --- a/browser/linux/resources/launch_librewolf.sh +++ b/browser/linux/resources/launch_librewolf.sh @@ -1,17 +1,30 @@ #!/usr/bin/env bash -# PROFILE SPECIFIC SETTINGS WILL NOT WORK, DO NOT UNCOMMENT +INSTALL_FOLDER=$(realpath $(dirname $0)); +INSTALL_SETTINGS_FOLDER=$INSTALL_FOLDER/settings; +PROFILE_SETTINGS_FOLDER=$HOME/.librewolf/settings; + # Adds option to install settings if argument is passed -# if [ "$1" = "--install-settings" ]; then -# ./install_settings; -# fi +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 in some cases) +# Sets env variables to disable dedicated profiles (which breaks some packaging methods) export MOZ_LEGACY_PROFILES=1; export SNAP_NAME="firefox"; -SCRIPT_FOLDER=$(realpath $(dirname $0)); -chmod +x $SCRIPT_FOLDER/librewolf; -$SCRIPT_FOLDER/librewolf "$@"; + +# Launches librewolf +chmod +x $INSTALL_FOLDER/librewolf; +$INSTALL_FOLDER/librewolf "$@"; diff --git a/settings/install_settings.sh b/settings/install_settings.sh deleted file mode 100755 index 4802b91..0000000 --- a/settings/install_settings.sh +++ /dev/null @@ -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; |