From 87d4ae0ca34af8bcbc61bd88fdd7743c79cb77b6 Mon Sep 17 00:00:00 2001 From: Oliver Smith Date: Thu, 6 Aug 2020 16:25:22 +0200 Subject: [PATCH] mobile-config-firefox: create userChrome.css symlink --- Makefile | 8 ++++++-- src/mobile-config-firefox.desktop | 11 +++++++++++ src/mobile-config-firefox.sh | 29 +++++++++++++++++++++++++++++ 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 src/mobile-config-firefox.desktop create mode 100644 src/mobile-config-firefox.sh diff --git a/Makefile b/Makefile index ffdff32..502dc3b 100644 --- a/Makefile +++ b/Makefile @@ -18,14 +18,18 @@ out/home.html: src/homepage/*.html out out/userChrome.css: out src/userChrome/*.css ( cd src/userChrome; cat $(USERCHROME_FILES) ) > $@ -install: +install: all install -Dm644 src/policies.json \ "$(DESTDIR)/etc/firefox/policies/policies.json" - install -Dm644 out/prefs.js \ + install -Dm644 src/prefs.js \ "$(DESTDIR)/usr/lib/firefox/defaults/pref/mobile-config.js" install -Dm644 "out/home.html" \ "$(DESTDIR)/usr/share/mobile-config-firefox/home.html" install -Dm644 "out/userChrome.css" \ "$(DESTDIR)/etc/mobile-config-firefox/userChrome.css" + install -Dm755 "src/mobile-config-firefox.sh" \ + "$(DESTDIR)/usr/bin/mobile-config-firefox" + install -Dm644 "src/mobile-config-firefox.desktop" \ + "$(DESTDIR)/usr/mobile-config/applications/org.mozilla.firefox.desktop" .PHONY: all clean install diff --git a/src/mobile-config-firefox.desktop b/src/mobile-config-firefox.desktop new file mode 100644 index 0000000..0b5c542 --- /dev/null +++ b/src/mobile-config-firefox.desktop @@ -0,0 +1,11 @@ +[Desktop Entry] +Exec=mobile-config-firefox %u +Icon=firefox +Type=Application +Terminal=false +Name=Firefox +GenericName=Web Browser +MimeType=text/html; +StartupNotify=true +Categories=Network;WebBrowser; +StartupWMClass=firefox diff --git a/src/mobile-config-firefox.sh b/src/mobile-config-firefox.sh new file mode 100644 index 0000000..b546cd2 --- /dev/null +++ b/src/mobile-config-firefox.sh @@ -0,0 +1,29 @@ +#!/bin/sh + +# Create chrome/userChrome.css symlink in a firefox profile dir +# $1: path to profile dir, e.g. "/home/user/.mozilla/firefox/asdf.default" +prepare_profile() { + mkdir -p "$1/chrome" + if ! [ -e "$1/chrome/userChrome.css" ]; then + ln -sv /etc/mobile-config-firefox/userChrome.css \ + "$1/chrome/userChrome.css" + fi +} + +profile_found=false +for profiledir in ~/.mozilla/firefox/*/; do + if ! [ -e "$profiledir/prefs.js" ]; then + continue + fi + + prepare_profile "$profiledir" + profile_found=true +done + +if [ "$profile_found" = "true" ]; then + exec firefox "$@" +else + profiledir=~/.mozilla/firefox/firefox.default + prepare_profile "$profiledir" + exec firefox --profile "$profiledir" "$@" +fi