Partnerspace in Landscape Orientation

I’m using a patch for rotation (does’nt matter which, same result with any of them).
In landscape, the app inside PartnerSpace does rotate, but the actual partnerspace (container/window??) does not.
So it misbehaves badly. As soon as you swipe into it, the homescreen rotates back to partrait =>Swiping from the right brings up the app launcher.
From bottom or top: Events View and multitasking view.
Swiping from the left however; though it does bring up Top Menu, brings it up from the side (but in a landscape orientation), chopped out with messsed up behavior.


And I know Sailfish OS doesn’t support landscape orientation by default for the homescreen(s), but I hope Jolla would do something about it anyway.
In the meantime, maybe someone has some insight on making partnerspace behave coherently and consistently with the rest of the homescreens/views.
I think this behavior is common on all hardware, but mine is XA2(4.5.0.24).

1 Like

What is partnerspace? I’ve looked it up but I can’t seem to find what it actually is.

An additional screen in the carousel where you can have permanent apps

2 Likes

The issue seems to be with partnerspace’s ‘minimzed’ state. With my very limited ‘know how’ I tried enabling orientation within different parts of the qml file, failed so far. I used PartnerLayer.qml in /tmp from ‘Blur Partnerspace Background’ patch; for testing, as any error would render Sailfish OS unbootable(no UI).

I hope someone more experienced would help.

1 Like

What directory is the file PartnerLayer.qml found in?, I’m not finding it with a grep.

EDIT: nevermind ~ I found it;

/usr/share/lipstick-jolla-home-qt5/layers/PartnerLayer.qml

1 Like

Ok, having forgotten about partnerspace, i thought I’d have a play. I don’t use patchmanager, so i thought I’d search this forum and the old one for partnerspace chatter. I found an interesting page here on FSO which uses writes to dconf to enable/disable the space. Application in Partnerspace lossing blur - #5 by sanginteret

I copied their example but with changing the desktop URL’s for 2 of my own. I now have 2 functioning apps. I haven’t yet seen any graphical hiccups, my apps work as they should. One app is landscape only, the other app can be used in both. I’m glad I read this thread. not sure I can help with your problem though, but do thoroughly check out the link above.

No need to use a patch from what I can see, which for me is good news, I always had nothing but grief using it. At least with dconf writes, you can remove them.

1 Like

Thank you for looking into it. The app itself inside partnerspace works fine. Partnerspace does’nt. But I have enabled landscape (patch) and here is the issue. When eventsview & multitask view are in landscape, partnerspace does’nt rotate with the rest of the OS. So you swipe into it (dont necessarily have to tap it yet), and its there in portrait mode so the swipes get all messed up with respect to device’s landscape orientation(ex: swiping from the edge left brings up the app launcher instead of going into events view -the normal behavior in portrait). I hope the issue is more clear now.

1 Like

No need to use a patch from what I can see

When youre editing its main qml file, and you dont exactly know what youre doing, like my self, there is im afraid. First time I edited, I had to reflash

but do thoroughly check out the link above

I already have checked the thread you’ve mentioned above, its about the transparent background of native apps (the patch im using). No mention of orientation unfortunately.
Thanks!

I believe it was conceived for the purpose that 3rd party Vendors could use it to promote some specific app of their choice. I understand it was brought for the then-strategy of Jolla in mid-2010’s to conquer the BRICS country markets.

The only use I have ever seen for it was in the Intex Aqua Fish phone which was a Jolla partnership device with the Indian consumer electronics manufacturer Intex. Their partner app of choice in Aqua Fish was a Bollywood-centered music store, which was, as told by @davidrasch, an additional screen in the carousel.

I would guess that most European users (me included) used a script shared in the Jolla Together forum to turn their Aqua Fish into a “Jolla C” (essentially the same device barring the different mobile modem), which did away with the Indian music store and other Intex Aqua specific software features. So the Partnerspace really is a piece of historic curiosity.

Damn if I still don’t love my Aqua Fish. ISOdrive (allowing you to easily boot into any Linux ISO you download on your phone) is the most killer app ever.

edit: Gaana was the name of the Partnerspace music store app in Aqua Fish.

2 Likes

Not that there is much interest around this topic and the issue in question, but if anyone’s interested…
I’ve had some success. Now partnerspace rotates along with the rest of the OS (EventsView & Multitask View specifically). Gestures work too, as they should, as long as a change in orientation doesnt happen while partnerspace is the active screen/homescreen/app (whatever you want to call it). In that case gestures get stuck, working according to the previous orientation.
Generally, this works for me. However, I wouldnt call this a perfect solution, so I’ll hold off marking this as solved for now.

_diff_

— /usr/share/lipstick-jolla-home-qt5/layers/PartnerLayer.qml
+++ /usr/share/lipstick-jolla-home-qt5/layers/PartnerLayer.qml
@@ -210,7 +210,7 @@
}
}, State {
name: “minimized”
.- when: !partnerItem.maximized
.+ when: !partnerItem.maximized && Screen.primaryOrientation === Qt.PortraitOrientation
PropertyChanges {
target: partnerSpace
scale: partnerItem.minimizedScale
@@ -272,9 +272,7 @@
opaque: true

             objectName: partnerItem.objectName

.- rotation: partnerParent.orientation & (Qt.InvertedPortraitOrientation | Qt.InvertedLandscapeOrientation)
.- ? 180
.- : 0
.+ rotation: partnerParent.orientation
}
}

@@ -358,16 +356,31 @@
property Item window
property bool mapped
readonly property int windowType: WindowType.PartnerSpace
.- readonly property int orientation: partnerItem.maximized
.- && window
.- && window.surface
.- ? (window.surface.contentOrientation != Qt.PrimaryOrientation
.- ? window.surface.contentOrientation
.- : QtQuick.Screen.primaryOrientation)
.- : Lipstick.compositor.homeOrientation
readonly property alias layerItem: partnerItem
property real windowOpacity: 1.0
property rect backgroundRect: Qt.rect(0, 0, width, height)
.+
.+ Connections {
.+ target: Screen
.+ onOrientationChanged: {
.+ switch (Screen.primaryOrientation) {
.+ case Qt.PortraitOrientation:
.+ partnerParent.rotation = 0;
.+ break;
.+ case Qt.LandscapeOrientation:
.+ partnerParent.rotation = 90;
.+ break;
.+ case Qt.InvertedPortraitOrientation:
.+ partnerParent.rotation = 180;
.+ break;
.+ case Qt.InvertedLandscapeOrientation:
.+ partnerParent.rotation = 270;
.+ break;
.+ default:
.+ break;
.+ }
.+ }
.+ }

         onWindowChanged: {
             if (window) {
1 Like

I am more impressed about havin Partnerspace on an XA2. That was my daily driver til last month an I didn’t get Partnerspace to work.
Now my daily driver is a 10 iii and I can’ install Partnerspace. Is somewhere a version to download for my device?

2 Likes

Partnerspace is a built in feature, it’s already there. The app was just a way to easily apply it and assign apps, and remove them. Previously I used to install it (had its dependencies taken from Jolla phone), but it became a hassle (you have to change components of its files and scripts to reflect changes in the OS (ex:defaultuser instead of nemo) and the new location of android apps.
So I made a script instead and stoped using the app. However you can simply do this to apply an app in partnerspace:

dconf write /desktop/lipstick-jolla-home/partnerspace/applications "['/usr/share/applications/app.desktop']"

and to remove them

dconf write /desktop/lipstick-jolla-home/partnerspace/applications "['']"

to apply more than one app

dconf write /desktop/lipstick-jolla-home/partnerspace/applications "['/usr/share/applications/app1.desktop', '/usr/share/applications/app2.desktop']"
1 Like

Many thanx. I will try…

1 Like

If you are using patches and patchmanager, there is one available to fix transparency issues.

2 Likes

A bit off topic, but has anyone else noticed recently (as of a few OS updates back) that Partnerspace applications no longer autostart on system boot? Or is it just on my phones?

If I remember correctly, previously Partnerspace applications were automatically started on system boot and restarted if killed or stopped. Whereas now it takes manually swiping to the Partnerspace screen and only then the app gets started as can be verified with e.g. top or Crest (until then the view shown there is just a miniature but the application itself is not active) - only when opening the Partnerspace screen a “busy” rotating wheel is shown and that’s when the application starts.

Does anyone know what has changed in this regard (e.g. between OS 4.4.x.x and 4.5.x.x)? Maybe such autostart functionality could be easily restored, e.g. with a patch… If one has an important application in Partnerspace that’s supposed to be running all the time, forgetting to manually open the Partnerspace screen after reboot will cause that the app won’t be running…

Could be wrong, but it has always been like this, as far as I remember. It almost never fails though (perhaps it depends on the app). I only have to start it after a reboot, or after a lipstick restart.

You could try creating for the partnerspace app, either a ‘oneshot’ type service or a simple type service that restarts on failure (whichever suits your needs better I suppose).

EDIT: Indeed, I’ve just checked it on my Jolla 1 (OS 3.4.0.24) and it does NOT autostart, either. So I guess it must have been my imagination acting up badly :smile: I could swear I remembered it autostarting on 4.4 or so…

I am actually in the process of rewriting the entire application as a service, with separate GUI part used only to change settings, and the whole communication (application output) done via notifications. I’ve set the service to

Type=simple
Restart=always
RestartSec=5

which will do the job.

1 Like

I have a question: I was successfull making Partnerspaces for native apps. Can I use Android apps?

1 Like

Just replace /usr/share/applications/ with /home/defaultuser/.local/share/applications/.
.desktop files usually start with apkd_launcher_com

2 Likes

Thank you, that worked for me …