@@ -12,6 +12,7 @@ QtObject {
1212 property int sideStageWidth: 0
1313 property int sideStageX: sceneWidth
1414 property bool animateX: false
15+ property int leftEdgeDragProgress: 0
1516
1617 property int stage: ApplicationInfoInterface.MainStage
1718 property var thisDelegate: null
@@ -25,6 +26,10 @@ QtObject {
2526 // of the last focused order.
2627 readonly property int itemZ: {
2728 // only shuffle when we've got a main and side stage
29+ if (thisDelegate.isDash && thisDelegate != mainStageDelegate) {
30+ return -1; // Keep the dash behind all other apps for the left edge gesture
31+ }
32+
2833 if (!sideStageDelegate) return itemIndex;
2934
3035 // don't shuffle indexes greater than "actives or next"
@@ -57,7 +62,15 @@ QtObject {
5762 }
5863
5964
60− property int itemX: mainStageDelegate == thisDelegate ? 0 : sideStageDelegate == thisDelegate ? sideStageX : sceneWidth
65+ property int itemX: {
66+ if (mainStageDelegate == thisDelegate) {
67+ return thisDelegate.isDash ? 0 : leftEdgeDragProgress;
68+ }
69+ if (sideStageDelegate == thisDelegate) {
70+ return sideStageX;
71+ }
72+ return thisDelegate.isDash ? 0 : sceneWidth;
73+ }
6174 Behavior on itemX { enabled: root.animateX; UbuntuNumberAnimation {} }
6275
6376 readonly property int itemWidth: stage == ApplicationInfoInterface.MainStage ?