aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbrowser/linux/resources/launch_librewolf.sh29
-rwxr-xr-xsettings/install_settings.sh45
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;
bgstack15