This guide was originally published at https://tangela.rocks
This guide assumes you have your phone rooted and also you have ADB access to your device. For that you should enable Debug mode on your phone.
Once you're at a shell with root ADB access, you need to pull two files from the filesystem: the homescreen app package and the webapps
list. This can be done with in this way:
adb pull /system/b2g/webapps/launcher.gaiamobile.org
adb pull /data/local/webapps/webapps.json
At this stage, you need to decide the 5 apps that we're going to put on the homescreen. Mine are going to be:
Open the webapps.json
and find your 5 apps. Note down the 'Manifest URL'. In the case of SMS, mine is:
app://sms.gaiamobile.org/manifest.webapp
As a whole, my configurations' manifests are:
app | manifest |
---|---|
sms | app://sms.gaiamobile.org/manifest.webapp |
app://email.gaiamobile.org/manifest.webapp | |
https://api.kaiostech.com/apps/manifest/ahLsl7Qj6mqlNCaEdKXv | |
calendar | app://calendar.gaiamobile.org/manifest.webapp |
clock | app://clock.gaiamobile.org/manifest.webapp |
Now, you need to find where the original apps are referenced in the homescreen app. You pulled it from the phone earlier, and it should be a folder that looks like this:
Unzip that, and find the main app bundle JavaScript file in the dist
folder.
Open that, and it's pretty intimidating! Use Ctrl/Cmd+F to find the following string: n.items=[["manifestURL"
, and it should take you to the definition for the side menu apps.
This section is where the apps are listed, and the part we need is the part between the double square brackets. ([[
and ]]
) You can edit this manually, by editing the manifest URLs to match the ones you noted down earlier. Alternatively, I wrote a small JavaScript page to make the edit for you.
Once this edit is made, you need to re-zip the files that make up the launcher. I used 7-Zip to add all of the base directory to a zip archive.
This zip should be named application.zip
, and the unzipped files should be removed.
Next, we need to push the launcher back to the phone. We shouldn't push it back to its original location as this can mess with OTA updates. Instead push it to a new location:
adb push launcher.gaiamobile.org /data/local/webapps
We need to tell the system about this by editing the webapps.json
file. This is also a good time to change some bloatware from "removable": false
to "removable": true
. Find the launcher app in the webapps listing, and change the basepath from its original location to /data/local/webapps
.
Finally, adb push webapps.json /data/local/webapps/
push the file to the system, and reboot the phone (adb reboot
).
The author retains the copyright ownership of this page and prohibits it being copied to any other website. Written by Tania tangela-rocks@protonmail.com, October 2020