We have moved to a new Sailfish OS Forum. Please start new discussions there.
1

How to deploy a native app as a super app?

asked 2019-02-27 14:30:53 +0300

jsommer gravatar image

updated 2019-02-27 20:50:33 +0300

Spam Hunter gravatar image

I was told, that it is possible to deploy an app as a super app by adding a specific command in the .spec respectively in the .yaml file. Does someone know, how this works?

I only have found the terminal command in this forum.

edit retag flag offensive close delete

3 Answers

Sort by » oldest newest most voted
1

answered 2019-03-10 12:26:45 +0300

jsommer gravatar image

I found a solution by using a C++ or Python class. Here are the simplified code snippets:

At first write a simple Python class:

import pyotherside
import os

class SuperAppSwitcher:
    def __init__(self):
        pass

    def activateSuperAppMode(self):
        os.system('dconf write /desktop/lipstick-jolla-home/partnerspace/applications \"[\'/usr/share/applications/Volla.desktop\']\"')

    def deactivateSuperAppMode(self):
        os.system('dconf write /desktop/lipstick-jolla-home/partnerspace/applications \"[\'\']\"')

appmodeswitcher = SuperAppSwitcher()

Then import the required modules in the QML file and add a Python QML component:

import io.thp.pyotherside 1.4

   Python {
    id: superPython
    Component.onCompleted: {
        console.log("Will import super app switcher module")
        addImportPath(Qt.resolvedUrl('.'));
        importModule('superappswitcher', function () {});
    }

    function activateSuperMode() {
        console.log("Will activate super mode")
        call('superappswitcher.appmodeswitcher.activateSuperAppMode', function() {})
    }

    function deactivateSuperMode() {
        console.log("Will deactivate super mode")
        call('superappswitcher.appmodeswitcher.deactivateSuperAppMode', function() {})
    }
}

Finally call the method somerwhere in your QML code:

MenuItem {
    text: qsTr("Activate super mode")
    onClicked: {
        superPython.activateSuperMode()
    }
}

Deactivating would be similar.

edit flag offensive delete publish link more
0

answered 2019-02-27 16:53:22 +0300

pawel gravatar image

updated 2019-02-27 16:55:01 +0300

there was a patch from schturman i believe to make any app.a.super.app

but who.is having partnerspace ?. a.few intex fishes that were not yet.converted to.jolla c

i love the keyboard + browser combination completely unusable for me :-)

edit flag offensive delete publish link more
0

answered 2019-02-27 16:49:53 +0300

coderus gravatar image

There are no super app / partnerspace manager. So you can only mark your desktop file as partnerspace app manually, or such app can be preinstalled by default as partnerspace app inside os, like Gaana in Intex.

edit flag offensive delete publish link more

Comments

This is, what I mean. How can I mark my app a super app in the .desktop file?

jsommer ( 2019-02-27 17:34:28 +0300 )edit

you cant mark your app a super app in desktop file you have to manually set dconf value

coderus ( 2019-02-27 18:00:40 +0300 )edit
1

Thanks for your comment. an engineer of Jolla told me, that it would be possible to do so. Mybe it was my missunderstanding. I made my app as a super by the terminal command now:

dconf write /desktop/lipstick-jolla-home/partnerspace/applications "['/usr/share/applications/MyApp.desktop']"
jsommer ( 2019-03-03 22:35:42 +0300 )edit
Login/Signup to Answer

Question tools

Follow
3 followers

Stats

Asked: 2019-02-27 14:30:53 +0300

Seen: 713 times

Last updated: Mar 10 '19