Screenshots & Task Manager Minimize / close apps on Nokia 8110 4G

by Luxferre and Nokia Tips

(safe method)

Waiting for the KaiOS 2.5.2 update, on Nokia 8110 4G we can use a third party modification. Everything is based on how it is positioned on the slider:

  • With wide-open slider + Power = minimizes the app (If you exit an app by pressing Back-button, now the app closes completely);

  • With half opened slider + Power = takes the screenshot;

  • With full closed slider + Power = normal function;

  • With wide-open slider + Power long pressed = an Android-like task manager will appear!

Example of "screenshot" function

1. Get a copy of the system.gaiamobile.org application's folder from the system:

adb pull /system/b2g/webapps/system.gaiamobile.org

2. Open the /js/hardware_buttons.js file in the application.zip using a text editor. Use a website like beautifier.io to read javascript in a more understandable format. Search for "this._haveKeydown = true;". Then copy this function:

if (ScreenManager.screenEnabled && navigator.SlideStatus > 0) { /* Home button is back from the dead */ if (navigator.SlideStatus === 2) { /* Home logic when slider is open to the end */ this.publish('home'); this.setState('base', 'home-button-release'); } else { /* Screenshot logic when slider is slightly closed */ this.publish('volumedown+sleep'); this.setState('base', 'sleep-button-release'); } }

and paste it between the following lines:

  • this._haveKeydown = true;

  • this._initStatus = ScreenManager.screenEnabled;

The result must be this:

this._haveKeydown = true; if (ScreenManager.screenEnabled && navigator.SlideStatus > 0) { /* Home button is back from the dead */ if (navigator.SlideStatus === 2) { /* Home logic when slider is open to the end */ this.publish('home'); this.setState('base', 'home-button-release'); } else { /* Screenshot logic when slider is slightly closed */ this.publish('volumedown+sleep'); this.setState('base', 'sleep-button-release'); } } this._initStatus = ScreenManager.screenEnabled;

Use a website like jshint.com to read "critical" errors.

Quick guide with downloads

Requirements

Just download task_manager.js, hardware_buttons.js and app_window_manager.js from GerdaOS:

Proceedings

1. Get a copy of the system.gaiamobile.org application's folder from the system:

adb pull /system/b2g/webapps/system.gaiamobile.org

2. Drag the three downloaded js files to the internal js folder of the application.zip file. If you are curious to know what changes between the three existing files and the modified ones, you can use the www.diffchecker.com website, or just read from the official GerdaOS repository;

3. Push the app and its folder on the data partition, exactly in /data/local/webapps using a temporary root access:

adb push system.gaiamobile.org /data/local/webapps

4. Get the webapps.json file:

adb pull /data/local/webapps/webapps.json

And change the value of the system.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.

5. 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 you will be able to take screenshots just like on GerdaOS, and in addition you will be able to close apps or minimize them on your liking... and an amazing Task Manager function is also available with this mod (video):

  • switch between the apps opened with the left/right buttons;

  • close the app by pushing the "up" button.

All these changes will be restored after a factory reset or after the update.