Initial commit with first version.
This commit is contained in:
commit
fea71d4736
2 changed files with 103 additions and 0 deletions
14
README.md
Normal file
14
README.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
### Build kinda webapp with Firefox
|
||||||
|
|
||||||
|
Firefox [removed](https://bugzilla.mozilla.org/show_bug.cgi?id=1682593) the SSB feature, so we're not able to add a webapp in this way.
|
||||||
|
I took the script from [here](https://wiki.postmarketos.org/wiki/Firefox) and modified it a little bit.
|
||||||
|
The ssb part is removed and I added the part below, so we hide the tabs toolbar and navbar.
|
||||||
|
There is also the option of starting the session in kioskmode, but I wasn't able to copy and paste there. That's why I went this way.
|
||||||
|
For now you're able to browse trough the internet with one tab. I didn't managed it to block all domains except the given one.
|
||||||
|
If you got any idea how to do that, let me know!
|
||||||
|
|
||||||
|
To add a webapp with launcher on your homescreen run it like this:
|
||||||
|
```./add-webapp.sh "Hydrogen" "https://hydrogen.datenkastl.de"```
|
||||||
|
|
||||||
|
After that you have a new launcher on your homescreen from where you can open the given website inside a new profile.
|
||||||
|
Have fun!
|
89
add-webapp.sh
Executable file
89
add-webapp.sh
Executable file
|
@ -0,0 +1,89 @@
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
# Create firefox profile
|
||||||
|
set -e
|
||||||
|
name=$1
|
||||||
|
url=$2
|
||||||
|
# Ugly, copy-pasted from SO
|
||||||
|
simple_name=$(echo "$name" | awk '{print tolower($0)}' | sed 's/ //g')
|
||||||
|
echo "Creating webapp $name, using $url."
|
||||||
|
|
||||||
|
firefox-esr -CreateProfile $simple_name
|
||||||
|
|
||||||
|
# Create desktop entry
|
||||||
|
cat >~/.local/share/applications/$simple_name.desktop <<EOL
|
||||||
|
[Desktop Entry]
|
||||||
|
Exec=firefox-esr -P $simple_name $url
|
||||||
|
Icon=/home/user/.local/share/applications/$simple_name.png
|
||||||
|
Type=Application
|
||||||
|
Terminal=false
|
||||||
|
Name=$name
|
||||||
|
StartupNotify=true
|
||||||
|
StartupWMClass=firefox
|
||||||
|
EOL
|
||||||
|
|
||||||
|
# Get icon
|
||||||
|
wget $url/favicon.ico -O /tmp/favicon.ico
|
||||||
|
convert /tmp/favicon.ico /tmp/favicon.png
|
||||||
|
mv /tmp/favicon.png .local/share/applications/$simple_name.png ||
|
||||||
|
mv /tmp/favicon-0.png .local/share/applications/$simple_name.png
|
||||||
|
rm /tmp/favicon*.png
|
||||||
|
|
||||||
|
# Modify chrome/userChrome.css to hide everyting on top and bottom
|
||||||
|
|
||||||
|
profile_dir=$(find ~/.mozilla/firefox/ -maxdepth 1 | grep $simple_name)
|
||||||
|
|
||||||
|
mkdir $profile_dir/chrome
|
||||||
|
cat >$profile_dir/chrome/userChrome.css <<EOL
|
||||||
|
/* Hide tabs toolbar on top*/
|
||||||
|
#TabsToolbar {
|
||||||
|
visibility: collapse !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide navbar on top*/
|
||||||
|
#nav-bar {
|
||||||
|
/* customize this value. */
|
||||||
|
--navbar-margin: -30px;
|
||||||
|
|
||||||
|
margin-top: var(--navbar-margin);
|
||||||
|
margin-bottom: 0;
|
||||||
|
z-index: -100;
|
||||||
|
transition: all 0.3s ease !important;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigator-toolbox:focus-within > #nav-bar,
|
||||||
|
#navigator-toolbox:hover > #nav-bar
|
||||||
|
{
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: var(--navbar-margin);
|
||||||
|
z-index: 100;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide tabs toolbar on bottom*/
|
||||||
|
#TabsToolbar {
|
||||||
|
visibility: collapse !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide navbar on bottom*/
|
||||||
|
#nav-bar {
|
||||||
|
/* customize this value. */
|
||||||
|
--navbar-margin: -30px;
|
||||||
|
|
||||||
|
margin-top: 0;
|
||||||
|
margin-bottom: var(--navbar-margin);
|
||||||
|
z-index: -100;
|
||||||
|
transition: all 0.3s ease !important;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#navigator-toolbox:focus-within > #nav-bar,
|
||||||
|
#navigator-toolbox:hover > #nav-bar
|
||||||
|
{
|
||||||
|
margin-top: var(--navbar-margin);
|
||||||
|
margin-bottom: 0;
|
||||||
|
z-index: 100;
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
EOL
|
Loading…
Reference in a new issue