(Safe method)
This guide to changing which apps display on the KaiOS homescreen is provided by our user tangela.rocks and tested on its Energizer E241S, your default settings may vary. For any question, you can join the original thread on Google Groups:
The full guide is also available on the website of the author, https://tangela.rocks/files/kaios/editing-the-home-carousel/
Once you’re at a shell with root ADB access, you need to pull two files, with these commands:
adb pull /system/b2g/webapps/launcher.gaiamobile.org and
adb pull /data/local/webapps/webapps.json
The first is the folder of the application "Launcher" from the system partition, that we must edit and pull on the data partition at the end, the second one is needed to have a list of all the installed applications on our phone (and to change the basePath at the end of the guide).
You need to decide the 5 apps that we’re going to put on the homescreen. In the guide the author have chosen these:
SMS
Calendar
Clock
Open the webapps.json and find your 5 apps. Note down the ‘Manifest URL’. In the case of SMS, should be this:
app://sms.gaiamobile.org/manifest.webapp
Like this:
As a whole, the author's configurations are:
for sms = app://sms.gaiamobile.org/manifest.webapp
for email = app://email.gaiamobile.org/manifest.webapp
for whatsapp = https://api.kaiostech.com/apps/manifest/ahLsl7Qj6mqlNCaEdKXv
for calendar = app://calendar.gaiamobile.org/manifest.webapp
for clock = app://clock.gaiamobile.org/manifest.webapp
3. Now, you need to find where the original apps are referenced in the Homescreen/Launcher app you pulled at the beginning, and it should be a folder that looks like this:
4. Once extracted the application.zip file, find the main app bundle JavaScript file in the /dist folder:
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:
If the setting is confusing, you can use a website like https://beautifier.io/
You can edit this file manually, by editing the manifest URLs to match the ones you noted down earlier:
Alternatively, the author tangela.rocks also has wrote a small JavaScript page to make the edit for you, at https://tangela.rocks/files/kaios/homescreen-generator.html, also integrated in this page, so you can use it from here:
This zip should be named application.zip, and the unzipped files should be removed.
5. Next, we need to push the modified launcher to /data/local/webapps, this way:
adb push launcher.gaiamobile.org /data/local/webapps
6. Get the webapps.json file again, and change the value of the launcher.gaiamobile.org app
"basePath": "/system/b2g/webapps",
in this way
"basePath": "/data/local/webapps",
Use the JSONLint website to verify that the format is correct for any json file you want to modify.
7. Afther this change push the webapps.json file in its place and reboot the phone:
adb push webapps.json /data/local/webapps/
adb reboot
After rebooting your Homescreen's carousel will be ready to list and launch your favourite apps. All the changes will be restored after a factory reset or after the update.
Thanks to tangela.rocks for this guide, find out more at https://tangela.rocks/files/kaios/