From dbb0697202a56e5a52b136ac0014ae1bba05db08 Mon Sep 17 00:00:00 2001 From: BeatLink Date: Thu, 4 Jul 2019 01:41:55 -0500 Subject: Move install settings script to archive Per profile settings dont work --- dev/install_settings.sh | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 dev/install_settings.sh (limited to 'dev/install_settings.sh') diff --git a/dev/install_settings.sh b/dev/install_settings.sh new file mode 100755 index 0000000..4802b91 --- /dev/null +++ b/dev/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//.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; -- cgit