Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- set -e
- me=$(basename "$0")
- # Making sure the script has root privileges
- if [ $EUID -ne 0 ]
- then
- echo "$me: Setting a startpage requires root privileges."
- exec sudo "$0" "$@"
- fi
- firefox_dir="/usr/lib/firefox-esr"
- firefox_autoconfig="$firefox_dir/defaults/pref/autoconfig.js"
- firefox_startpage_config="$firefox_dir/startpage_config.js"
- if [ $# -eq 0 ]
- then
- echo "$me: No startpage specified."
- exit 1
- elif [ $# -gt 1 ]
- then
- echo "$me: Avoiding all arguments except the first one."
- fi
- startpage="$(realpath $1)"
- if [ ! -f "$startpage" ]
- then
- echo "$me: Cannot set startpage '$startpage': No such file exists."
- exit 1
- fi
- cat << EOF > $firefox_autoconfig
- pref("general.config.filename", "$(basename $firefox_startpage_config)");
- pref("general.config.obscure_value", 0);
- EOF
- echo "$me: Successfully written to '$firefox_autoconfig'."
- cat << EOF > $firefox_startpage_config
- const { classes:Cc, interfaces:Ci, utils:Cu } = Components;
- const startpageURL = "file://$startpage";
- try
- {
- ChromeUtils.defineESModuleGetters(this, {
- AboutNewTab: "resource:///modules/AboutNewTab.sys.mjs",
- HomePage: "resource:///modules/HomePage.sys.mjs"
- });
- AboutNewTab.newTabURL = startpageURL;
- HomePage.safeSet(startpageURL);
- }
- catch(e)
- {
- Cu.reportError(e);
- }
- EOF
- echo "$me: Successfully written to '$firefox_startpage_config'."
- echo "$me: Successfully set startpage as '$startpage'."
Advertisement
Add Comment
Please, Sign In to add comment