aboutsummaryrefslogtreecommitdiff
path: root/browser
diff options
context:
space:
mode:
authorBeatLink <beatlink@protonmail.com>2019-06-30 18:53:31 -0500
committerBeatLink <beatlink@protonmail.com>2019-06-30 18:53:31 -0500
commit22c47e0bb309f6e2d232177d6acfa47b4419276b (patch)
treedc1fe0fcb9352a05eb74445683b369b565f72728 /browser
parentmove android mozconfig to dedicated android folder (diff)
downloadlibrewolf-linux-22c47e0bb309f6e2d232177d6acfa47b4419276b.tar.gz
librewolf-linux-22c47e0bb309f6e2d232177d6acfa47b4419276b.tar.bz2
librewolf-linux-22c47e0bb309f6e2d232177d6acfa47b4419276b.zip
add launch scripts
Diffstat (limited to 'browser')
-rwxr-xr-xbrowser/linux/resources/launch_scripts/install_settings.sh45
-rwxr-xr-xbrowser/linux/resources/launch_scripts/launch_librewolf.sh16
2 files changed, 61 insertions, 0 deletions
diff --git a/browser/linux/resources/launch_scripts/install_settings.sh b/browser/linux/resources/launch_scripts/install_settings.sh
new file mode 100755
index 0000000..4802b91
--- /dev/null
+++ b/browser/linux/resources/launch_scripts/install_settings.sh
@@ -0,0 +1,45 @@
+#!/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;
diff --git a/browser/linux/resources/launch_scripts/launch_librewolf.sh b/browser/linux/resources/launch_scripts/launch_librewolf.sh
new file mode 100755
index 0000000..569c03f
--- /dev/null
+++ b/browser/linux/resources/launch_scripts/launch_librewolf.sh
@@ -0,0 +1,16 @@
+#!/usr/bin/env bash
+
+# Adds option to install settings if argument is passed
+if [ "$1" = "--install-settings" ]; then
+ ./install_settings;
+fi
+
+# Sets env variables to disable dedicated profiles (which breaks in some cases)
+export MOZ_LEGACY_PROFILES=1;
+export SNAP_NAME="firefox";
+SCRIPT_FOLDER=$(realpath $(dirname $0));
+chmod +x $SCRIPT_FOLDER/librewolf;
+$SCRIPT_FOLDER/librewolf "$@";
+
+
+
bgstack15