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) {